thrift,Protocol Buffer,avro基本介紹

    接下來項目中會用到thrift:一個跨平臺,支持多語言的,通過定義IDL文件,自動生成RPC客戶端與服務端通信代碼的工具(談不上框架,後面學習中會記錄下thrift學習相關的東西)

    在查找thrift學習資料中,瞭解到與之類似的有google的protocol buffer,以及avro。

    protocol buffer剛查找了一些資料,瞭解了下,pb是一種序列化與結構化數據的一種機制,具有跨平臺、解析速度快、序列化數據體積小、擴展性高、使用簡單的特點。pb相對於thrift 而言,是沒有RPC代碼自動生成的,但是官方提供RPC接口可供實現。 另外PB的序列化數據的體積在傳輸過程中相對於thrift也有一定的優勢,相對於thrift的TCompactProtocol協議,PB的傳輸效果有一點點的優勢,但是TCompactProtocol協議比PB在協議與其它方式產生的運行開銷以及CPU與平均處理時間上,thrift的TCompactProtocol協議效果更好些。

    相比thrift ,PB,avro可以提供簡單的動態語言結合功能,Avro和動態語言結合後,讀寫數據文件和使用RPC協議都不需要生成代碼,而代碼生成作爲一種可選的優化只值得在靜態類型語言中實現。

    avroj是一個數據序列化的系統,提供的特性如下:

        1. 豐富的數據結構類型
  2. 快速可壓縮的二進制數據形式
  3. 存儲持久數據的文件容器
  4. 遠程過程調用RPC
  5. 簡單的動態語言結合功能,Avro和動態語言結合後,讀寫數據文件和使用RPC協議都不需要生成代碼,而代碼生成作爲一種可選的優化只值得在靜態類型語言中實現。

       ( 具體avro與動態語言結合的特性,有時間會去研究下。)

    下面是pb的一篇文章,以及google官方指南的地址,記下來,接下來會去了解學習。

介紹protocol buffers的一篇文章:

http://www.searchtb.com/2010/11/protocol-buffers%E7%9A%84%E5%BA%94%E7%94%A8%E4%B8%8E%E5%88%86%E6%9E%90.html

官方指南:

http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/proto.html


thrift接下來學習中會陸續更新。

  


    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章