RabbitMQ消息隊列的小伙伴: ProtoBuf(Google Protocol Buffer) [轉]


什么是ProtoBuf?

     一種輕便高效的結構化數據存儲格式,可以用於結構化數據串行化,或者說序列化。它很適合做數據存儲或 RPC 數據交換格式。可用於通訊協議、數據存儲等領域的語言無關、平台無關、可擴展的序列化結構數據格式。目前提供了 C++、Java、Python 三種語言的 API。

     它可以作為RabbitMQ的Message的數據格式進行傳輸,由於是結構化的數據,這樣就極大的方便了Consumer的數據高效處理。當然了你可能說使用XML不也可以嗎?與XML相比,ProtoBuf有以下優勢:

  1. 簡單
  2. size小了3-10倍
  3. 速度快樂20-100倍
  4. 易於編程
  5. 減小了語義的歧義

       當然了,的確還有很多類似的技術,比如JSON,Thrift等等,和他們相比,ProtoBuf的優勢或者劣勢在哪里?簡單說來,ProtoBuf就是 簡單,快。以測試為證:項目 thrift-protobuf-compare 比較了這些類似的技術,下圖 顯示了該項目的一項測試結果。

在占用空間上的性能比較:

由此可見,ProtoBuf具有速度和空間的優勢,使得它現在應用非常廣泛。比如Hadoop就使用了它。

更多信息,請閱 http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/。

轉:

http://blog.csdn.net/anzhsoft/article/details/19771671


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM