2013-12-18 38 views

回答

110

RPC框架通常是一組工具,它們使程序員能夠調用遠程進程中的一段代碼,無論是在不同的機器上,還是在同一臺機器上的另一個進程中。

Apache Thrift的特殊情況下,我們討論了一個設計爲高效的框架,並可在OS平臺和編程語言中使用。此外,您在傳輸(如套接字,管道等)和協議(二進制,JSON,甚至壓縮)方面還有一些靈活性,以及​​一些更多選項,如SSL或SASL支持。

例如,您可以在Linux機器上建立一個服務器,使用C++編寫,它通過基於JSON的HTTP協議向全世界提供一些服務。這項服務可能由用Python編寫的客戶端程序調用,運行在Windows機器上。服務器和客戶端的代碼都是從Thrift IDL文件生成的。爲了讓它運行,你基本上只需要添加預期的程序邏輯並把所有的部分放在一起。

單個最佳參考對於Apache Thrift仍然是Apache Thrift Whitepaper。儘管在一些細節上略顯過時,但下層概念仍然有效。另一個很好的閱讀是Diwaker Gupta's "Missing Guide",最後不只是從Randy Abernethy即將出版的書。

對於初學者,我建議先從Apache Thrift tutorial suite開始,這些例子展示了很多核心功能。如果遇到問題,歡迎您在SO或者Thrift郵件列表上詢問。