Thrift的安裝和簡單示例
本文只是簡單的講解Thrift開源框架的安裝和簡單使用示例,對于詳細的講解,后面在進行闡述。
Thrift簡述
Thrift是一款由Fackbook開發的可伸縮、跨語言的服務開發框架,該框架已經開源并且加入的Apache項目。Thrift主要功能是:通過自定義的Interface Definition Language(IDL),可以創建基于RPC的客戶端和服務端的服務代碼。服務代碼的生成是通過Thrift內置的代碼生成器來實現的。Thrift 的跨語言性體現在,它可以生成C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml , Delphi等語言的代碼,且它們之間可以進行透明的通信。
Thrift的安裝
安裝版本為:Thrift v0.9.1
系統版本:Ubuntu 14.04 64位
基本安裝環境:
- g++ 4.2
- boost 1.53.0
- libssl-dev
</ul>
Thrift的編譯器即代碼生成器是由C++編寫的,所以需要g++來進行編譯安裝,且Thrift源碼中用到了boost庫中相關實現,例如shared_ptr,所以要事先安裝boost庫。
Thrift通信過程中使用ssl對數據進行安全包含,如果為安裝該庫,會在configure時出現configure: error: "Error: libcrypto required."
Thrift提供了,TThreadSever, TThreadPoolServer, TNonblockingServer四種服務器框架,TSimpleServer以單一主線程阻塞的方式進行事件處理,TThreadPoolServer以多線程阻塞的方式提供服務,TNonblockingServer以多線程非阻塞方式工作。 TNonblockingServer服務模型的使用需要事先安裝libevent,libevent-dev庫,libevent是異步事件處理的程序庫,其包含我們常用的poll,select,epoll等異步處理函數。
安裝步驟: