thrift介紹及其在java中的使用

thrift是什麼?

thrift是一套開源RPC框架,最初由facebook開發,後進入apache進行孵化。thrift最大的特色是能夠實現跨語言的開發。html

thrift框架結構

Thrift Stack

  • ×××部分表明由thrift描述文件生成的代碼
  • 棕色部分和紅色部分表明分別使用×××部分代碼生成的客戶端代碼和服務器端代碼
  • 紫色部分和藍色部分表明thrift運行依賴的庫

thrift支持的protocols

  • TBinaryProtocol 普通二進制格式java

  • TCompactProtocol 壓縮二進制格式,傳輸效率更高web

  • TJSONProtocol JSON格式apache

  • ...服務器

 

thrift支持的transports

  • TSocket 普通阻塞式I/O傳輸多線程

  • TFramedTransport server採用非阻塞格式時需採用此傳輸,按塊傳輸框架

  • ...ide

thrift支持的服務器端類型

  • TSimpleServer 阻塞式、單線程spa

  • TThreadPoolServer 阻塞式、多線程線程

  • TNonblockingServer 非阻塞式、多線程

使用thrift進行開發(java)

  • 編寫thrift描述文件,如何編寫並生成java代碼可參考官網資料

  •  

    經過引入生成的java代碼開發服務器端和客戶端程序

服務器端和客戶端程序的開發須要依賴libthrift jar包,可按以下方式生成:

官網下載最新tar包,進入解壓文件下lib/java子目錄下,執行ant命令便可生成libthrift jar包

服務器端、客戶端開發基本步驟可參考以下連接:

http://jnb.ociweb.com/jnb/jnbJun2009.html

http://www.micmiu.com/soa/rpc/thrift-sample/

相關文章
相關標籤/搜索