我需要爲大學項目學習Apache Thrift。正如tutorial所說,它是一個RPC框架,它是我能找到的除了their documentation以外的唯一的一個文件。什麼是RPC框架和Apache Thrift?
有人能告訴我什麼是RPC框架,它與Apache Thrift有何關係?
我需要爲大學項目學習Apache Thrift。正如tutorial所說,它是一個RPC框架,它是我能找到的除了their documentation以外的唯一的一個文件。什麼是RPC框架和Apache Thrift?
有人能告訴我什麼是RPC框架,它與Apache Thrift有何關係?
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郵件列表上詢問。