thrift完整例子

來源:http://binghejinjun.iteye.com/blog/1175239

Thrift是facebook向apache推出的爲了解決大數據量交換問題的開源項目。開發人員需要定義類似於c的結構體的數據結構和服務接口,利用thrift工具自動產生構建RPC客戶端和服務器所需的所有代碼。它可以跨語言,可靠通信。 

   thrift設計一:將傳輸層從代碼層中分離出來 
thrift設計二:將數據結構從傳輸層中分離出來 
本質上,它是以普通二進制格式寫數據 

實際操作過程: 
1.如果要給服務命名,可以考慮使用此種格式:namespace java com.epri.distriAuto.thrift 
2.Thrift 中的基本數據類型 
    類型 描述 
    bool true, false 
    byte 8位的有符號整數 
    i16 16位的有符號整數 
    i32 32位的有符號整數 
    i64 64位的有符號整數 
    double 64位的浮點數 
    string UTF-8編碼的字符串 
    binary 字符數組 
    struct 結構體 
    list 有序的元素列表,類似於STL的vector 
    set 無序的不重複元素集,類似於STL的set 
    map key-value型的映射,類似於STL的map 
    exception 是一個繼承於本地語言的exception基類 
    service 服務。包含多個函數接口(純虛函數) 

3.下載thrift編譯工具,此工具可以根據定義好的文件生成服務的客戶端和服務端代碼 
   編譯格式如下: 
     thrift -gen java test.thrift 
開發: 

1.編譯成功後會生成一個gen-java包,把裏面的類文件加入到工程中,注意導入thrift相關jar包: 
  slf4j-log4j12-1.5.11.jar,slf4j-api-1.5.11.jar,log4j-1.3alpha-8.ja,,libthrift.jar 
2.編寫接口實現類,實現test.Iface接口 
3.編寫服務端代碼 
4.編寫客戶端代碼 
5.測試,運行 
說明: 
1.thrift編譯工具我已放入要下載的文件,名字就是thrift 
2.工程中涵蓋運行所需全部jar包,直接下載運行即可 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章