От здесь: Storm был разработан с самого начала, чтобы быть совместимым с несколькими языками. Nimbus - услуга Thrift, а топология определяется как структуры Trrift. Использование Thrift позволяет использовать Storm с любого языка.
Я вижу, что топология, созданная в java, развертывается путем сериализации топологии (носик, болтов, ComponentCommon) в качестве типов данных Thrift, а затем развертывается на Nimbus. В Java легко сериализовать объект с помощью его методов и данных. Так что с другой стороны Nimbus просто нужно создавать объекты и вызывать их. (может быть, здесь не хватает информации, но я надеюсь, что правильно понял)
Но мне интересно, как написать топологию на С++ и развернуть ее так же. Помогает ли сериализация сериализации топологии на основе С++, а Nimbus развертывает/выполняет топологию так же, как и для Java?
Я видел ссылки link1 link2 в этом и единственное решение, похоже, использует Шелболт. который вызывает процесс и связывается с ним по стандарту i/o.
Чтобы использовать метод Thrift, нужно ли переписывать ядро шторма также в С++? Также зачем использовать Thrift, когда он поддерживает только языки JVM? Thrift, похоже, вообще не используется для таких языков, как python/С++.