自己百度谷歌一下把。
http://thrift.apache.org/docs/install/
http://thrift.apache.org/download我下載的版本是0.9.1
解壓后,進入根目錄,輸入:
如果輸入thrift -version,提示說thrift-compiler沒有安裝,怎安裝上。
Thrift 是一個服務端和客戶端的架構體系,從我個人的感官上來看 Thrift 是一個類似XML-RPC+Java-to- IDL+Serialization Tools=Thrift 的東東,Thrift 具有自己內部定義的傳輸協議規范(TProtocol)和傳輸數據標準(TTransports),通過 IDL 腳本對傳輸數據的數據結構(struct) 和傳輸數據的業務邏輯(service)根據不同的運行環境快速的構建相應的代碼,并且通過自己內部的序列化機制對傳輸的數據進行簡化和壓縮提高高并發、 大型系統中數據交互的成本,下圖描繪了 Thrift 的整體架構,分為 6 個部分:
(1).你的業務邏輯實現(You Code)
(2).客戶端和服務端對應的 Service
(3).執行讀寫操作的計算結果
(4).TProtocol
(5).TTransports
(6).底層 I/O 通信
圖 中前面 3 個部分是 1.你通過 Thrift 腳本文件生成的代碼,2.圖中的褐色框部分是你
根據生成代碼構建的客戶端和處理器的代碼,3.圖中紅色的部分是 2 端產生的計算結
果。從 TProtocol 下面 3 個部分是 Thrift 的傳輸體系和傳輸協議以及底層 I/O 通信,
Thrift 并且提供 堵塞、非阻塞,單線程、多線程的模式運行在服務器上,還可以配合
服務器/容器一起運行,可以和現有 JEE 服務器/Web 容器無縫的結合。
A、Base Type :基本類型
(1)bool:布爾類型(true或false)
(2)byte:8位有符號整數
(3)i16:16位有符號整數
(4)i32:32位有符號整數
(5)i64:64位有符號整數
(6)double:64位浮點數
(7)string:文本字符串,使用UTF-8編碼
B、Container:容器:如list、set、map
C、Struct:結構體類型
如下面的一個例子:
struct People {
1:string name;
2:string sex;
}
struct和C里面的結構體很類似。
D、Exception:異常類型
E、Service:定義對象的接口和一系列方法
如下面一個例子:
service DemoService {
string getUserName(1:i32 id);
i32 add(1:i32 num1, 2:i32 num2);
}
一個service對應一個類,里面是一些方法。
如getUserName方法就是根據一個id返回一個字符串,add方法是對num1和num2進行求和。
Thrift可以在kehudaun和服務端之間傳輸選擇通信協議,協議總體上分為文本(text)和二進制(binary)傳輸協議。
* TBinaryProtocol