從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++等語言。