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