从here: Storm从一开始就设计为与多种语言兼容。 Nimbus是Thrift服务,拓扑定义为Thrift结构。 Thrift的使用允许Storm从任何语言中使用。如何在风暴和节俭风暴中使用C++ spout/bolt
我看到在java中创建的拓扑通过将拓扑(喷嘴,螺栓,ComponentCommon)作为Thrift数据类型序列化,然后部署到Nimbus上来部署。在Java中,使用它的方法和数据序列化对象是很容易的。所以在另一边,Nimbus只需要创建对象并调用它们。 (我可能会错过这里的细节,但我希望我能正确理解这一点)
但我想知道如何在C++中编写拓扑并以相同的方式进行部署。节俭是否有助于序列化基于C++的拓扑,并且Nimbus是否以与Java相同的方式部署/执行拓扑?
我已经看到链接link1link2在这方面,唯一的解决方案似乎是使用Shelbolt。它调用该进程并通过标准I/O与它进行通信。
为了使用Thrift方式,我们是否需要在C++中重写风暴核心?此外,为什么在仅支持JVM语言时使用Thrift? Thrift似乎没有用于python/C++等语言。