2014-03-24 159 views
4

我在網上搜索,但找不到任何有用的東西。首先,我在考慮使用協議緩衝區,但它沒有提供內置的功能來跟蹤多個消息(一個消息完成和第二次啓動)或消息自定義,但我在Thrift白皮書中閱讀了此功能,看起來不錯對我來說。現在我正在考慮使用Thrift而不是Protocol Buffers。是否可以在沒有RPC的情況下使用Apache Thrift?

我正在爲自定義協議工作,因爲我不需要RPC,有人會建議如果我可以使用Thrift而不使用RPC(因爲它在協議緩衝區中,只需使用流功能)和一些起點作爲節儉文檔有點麻煩。

謝謝!

+0

是的,這是可能的。類似的答案給出爲[這裏] [1] [1]:http://stackoverflow.com/questions/12328896/thrift-is-it-possible-to-do-only-serialization-with -C-節儉庫 – user3369727

回答

2

是的,這是可能的。給出類似的答案Here。 Apache thrift可以在沒有RPC的情況下使用,您可以簡單地使用與文檔中定義的傳輸層和協議層相關的庫。

2

Apache Thrift確實是一個RPC和序列化框架。序列化部分用作RPC機制的一部分,但可以單獨使用。對於各種語言,可以提供樣本和/或支持幫助類。如果這不是你的特定語言的情況下,必要的代碼幾乎可以歸結到這(僞代碼):

var data = InitializeMyDataStructure(...); 

var trans = new TStreamTransport(...); 
var prot = new TJSONProtocol(trans); 

data.write(prot); 

兩個運輸(S)和協議是可插入的,所以不是JSON,你是一個流自由使用您自己的協議,以及(例如)文件傳輸。或者其他任何組合都適合您的用例,並且支持您的目標語言。

作爲節儉文檔有點麻煩。

您可以自由詢問任何問題,無論是在這裏還是在郵件列表中。此外,我們有一個很好的教程,Test server/client對也是典型用例的很好例子。

相關問題