什麼是ProtoBuf?html
一種輕便高效的結構化數據存儲格式,能夠用於結構化數據串行化,或者說序列化。它很適合作數據存儲或 RPC 數據交換格式。可用於通信協議、數據存儲等領域的語言無關、平臺無關、可擴展的序列化結構數據格式。目前提供了 C++、Java、Python 三種語言的 API。linux
它能夠做爲RabbitMQ的Message的數據格式進行傳輸,因爲是結構化的數據,這樣就極大的方便了Consumer的數據高效處理。固然了你可能說使用XML不也能夠嗎?與XML相比,ProtoBuf有如下優點:編程
固然了,的確還有不少相似的技術,好比JSON,Thrift等等,和他們相比,ProtoBuf的優點或者劣勢在哪裏?簡單說來,ProtoBuf就是簡單,快。以測試爲證:項目 thrift-protobuf-compare 比較了這些相似的技術,下圖 顯示了該項目的一項測試結果。oop
在佔用空間上的性能比較:性能
因而可知,ProtoBuf具備速度和空間的優點,使得它如今應用很是普遍。好比Hadoop就使用了它。測試
更多信息,請閱 http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/。cdn