Thrift原理分析(一)基本概念

hiekay發表於2018-11-07

很多公司使用Thrift作為基礎通訊元件,相當一部分的RPC服務基於Thrift框架。公司的日UV在千萬級別,Thrift很好地支援了高併發訪問,並且Thrift相對簡單地程式設計模型也提高了服務地開發效率。
Thrift源於Facebook, 目前已經作為開源專案提交給了Apahce。Thrift解決了Facebook各系統的大資料量傳輸通訊和內部不同語言環境的跨平臺呼叫。

Thrift的官方網站: http://thrift.apache.org/

  • 作為一個高效能的RPC框架,Thrift的主要特點有
  1. 基於二進位制的高效能的編解碼框架
  2. 基於NIO的底層通訊
  3. 相對簡單的服務呼叫模型
  4. 使用IDL支援跨平臺呼叫

image.png

描述了一個RPC框架的基本元件,包括伺服器端釋出和呼叫服務元件,NIO元件,協議和編解碼元件,客戶端呼叫元件,客戶端代理元件等等

  • 對照這個模型,Thrift的核心元件有:

TProtocol 協議和編解碼元件

TTransport 傳輸元件

TProcessor 服務呼叫元件

TServer,Client 伺服器和客戶端元件

IDL 服務描述元件,負責生產跨平臺客戶端


相關文章