使用幾個不同的消息和RPC系統後,我得出的結論是,你最終總是需要傳統的RPC,某種和推事件。否則,你不可避免地結束了一些投票黑客。是否有任何允許回調的Thrift式RPC系統?
例如,HTTP原本只支持RPC風格的方法(GET和POST立即返回響應)。人們意識到推送事件是需要的,因此使用長輪詢來攻擊它。最終這被修復了Server-Sent Events。
CoAP協議(HTTP的一個輕量級的基於UDP的版本)也加入了「監視」選項GET請求支持推送事件。這是一個非常優雅的解決方案。
但無論這些都是節儉風格的RPC,我的意思是你寫的接口定義文件,並有一些工具,編譯該接口爲本地代碼爲您選擇的語言。此後,您可以直接調用遠程過程,就好像它們是本地過程一樣。
所以我的問題是,是否有讓你訂閱推送事件並調用回調(或類似)當一個事件到達任何節儉風格的RPC系統?
你看着GRPC?它基於回調(雖然不一定是訂閱模式,因爲我認爲你只能有一個處理程序),並且支持protobuf,並且剛開始也支持FlatBuffers。 – Aardappel