Thrift是一款非常小巧使用的服務開發框架,主要功能是用來進行可擴展且跨語言的服務的開發,用戶可以通過多種不同的代碼語言來進行操作,并且還可以生成引擎。有需要的小伙伴可以下載。
軟件簡介
thrift最初由face book開發,07年四月開放源碼,08年5月進入apache孵化器,現在是Apache基金會的頂級項目。
thrift允許你定義一個簡單的定義文件中的數據類型和服務接口,以作為輸入文件,編譯器生成代碼用來方便地生成RPC客戶端和服務器通信的無縫跨編程語言。。
著名的Key-Value存儲服務器Cassandra就是使用Thrift作為其客戶端API的。
Apache節約軟件框架,為可擴展的跨語言服務開發,結合了軟件堆棧和代碼生成引擎,在C++、java、Python、PHP、Ruby、Erlang、Perl、Haskell、C、Co、Javascript等之間高效地無縫地構建服務。節點.js,Smalltalk,OCaml和Delphi等語言。
軟件功能
跟一些替代選擇,比如SOAP相比,跨語言序列化的代價更低,因為它使用二進制格式。
它有一個又瘦又干凈的庫,沒有編碼框架,沒有XML配置文件。
綁定感覺很自然。例如,Java使用java.util.ArrayList《String》;C++使用std::vector《std::string》。
應用層通訊格式與序列化層通訊格式是完全分離的。它們都可以獨立修改。
預定義的序列化格式包括:二進制格式、對HTTP友好的格式,以及緊湊的二進制格式。
兼作跨語言文件序列化。
協議使用軟版本號機制軟件版本管理。Thrift不要求一個中心化的和顯式的版本號機制,例如主版本號/次版本號。松耦合的團隊可以輕松地控制RPC調用的演進。
沒有構建依賴也不含非標準化的軟件。不存在不兼容的軟件許可證混用的情況。