青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

Protobuf 和 Thrift對比

轉載自:http://blog.mimvp.com/2015/03/comparing-protobuf-and-thrift/

Protobuf 和 Thrift 簡介

google protobuf 

Protocol buffers are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages – Java, C++, or Python.

githubgoogle/protobuf 

google developers: protocol-buffers

 

Apache Thrift

The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.

githubapache/thrift

 

protobuf,json,xml,binary,Thrift之間的對比

一條消息數據,protobuf序列化后的大小是json的10分之一,xml格式的20分之一,是二進制序列化的10分之一,總體看來ProtoBuf的優勢還是很明顯的。

protobuf是google提供的一個開源序列化框架,類似于XML,JSON這樣的數據表示語言。

protobuf在google中是一個比較核心的基礎庫,作為分布式運算涉及到大量的不同業務消息的傳遞,如何高效簡潔的表示、操作這些業務消息在google這樣的大規模應用中是至關重要的。而protobuf這樣的庫正好是在效率、數據大小、易用性之間取得了很好的平衡。

 

protobuf簡單總結如下幾點:

1.靈活(方便接口更新)、高效(效率經過google的優化,傳輸效率比普通的XML等高很多);

2.易于使用;開發人員通過按照一定的語法定義結構化的消息格式,然后送給命令行工具,工具將自動生成相關的類,可以支持java、c++、python等語言環境。通過將這些類包含在項目中,可以很輕松的調用相關方法來完成業務消息的序列化與反序列化工作。

3.語言支持;原生支持c++,java,python

 

個人總結的適用protobuf的場合:

1.需要和其它系統做消息交換的,對消息大小很敏感的。那么protobuf適合了,它語言無關,消息空間相對xml和json等節省很多。
2.小數據的場合。如果你是大數據,用它并不適合。
3.項目語言是c++,java,python的,因為它們可以使用google的源生類庫,序列化和反序列化的效率非常高。其它的語言需要第三方或者自己寫,序列化和反序列化的效率不保證。
4.總體而言,protobuf還是非常好用的,被很多開源系統用于數據通信的工具,在google也是核心的基礎庫。

此外,還有更牛叉的facebook的thrift,2007年由Facebook開發,之后在2008年加到Apache計劃中。是一個跨語言的輕量級RPC消息和數據交換框架,Thrift能生成的語言有: C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml,這是它的一大優點。

 

Thrift 和 Protobuf 應用場景

在查看了一系列的資料后,覺得要從性能上的區別來在Thrift和Protobuf之間做選擇意義不大,因為他們的性能太接近了。我們應該從項目支持,文檔,易用性,特性方面來進行選擇。如在《Thrift vs. Protocol Buffers》一文說提到的。

Thrift和Protobuf的最大不同,在于Thrift提供了完整的RPC支持,包含了Server/Client,而Protobuf只包括了stub的生成器和格式定義。

下面列出來的是一些數據交換格式的Performance測試數據,另外有兩份針對Thrift和Protobuf的測試數據:
thrift-protobuf-compare :包含了多種數據交換格式的benchmarking;
Thrift and Protocol Buffers performance in Java
Thrift and Protocol Buffers performance in Java Round 2 :作者在對Protobuf進行了一些參數調優后重做的測試,測試結果Protobuf從帶寬節省和序列化/解序列化速度上都占了優勢。

 

數據類型

protobufthriftprotobufthriftprotobufthriftprotobufthrift
doubledoublefloat  byte i16
int32i32int64i64uint32 uint64 
sint32 sint64 fixed32 fixed64 
sfixed32 sfixed64 boolboolstringstring
bytesbinarymessagestructenumenumserviceservice

 

綜合對比

 protobufthrift
功能特性主要是一種序列化機制提供了全套RPC解決方案,包括序列化機制、傳輸層、并發處理框架等
支持語言C++/Java/PythonC++, Java, Python, Ruby, Perl, PHP, C#, Erlang, Haskell
易用性語法類似,使用方式等類似
生成代碼的質量可讀性都還過得去,執行效率另測
升級時版本兼容性均支持向后兼容和向前兼容
學習成本功能單一,容易學習功能豐富、學習成本高
文檔&社區官方文檔較為豐富,google搜索protocol buffer有2000W+結果,google group被墻不能訪問官方文檔較少,沒有API文檔,google搜索apache thrift僅40W結果,郵件列表不怎么活躍

 

性能對比

由于thrift功能較protobuf豐富,因此單從序列化機制上進行性能比較,按照序列化后字節數、序列化時間、反序列化時間三個指標進行,對thrift的二進制、壓縮、protobuf三種格式進行對比。

測試方法:

取了15000+條樣本數據,分別寫了三個指標的測試程序,在自己的電腦上執行,其中時間測試循環1000次,總的序列化/反序列化次數1500W+。

平均字節數

thrift二進制535
thrift壓縮473
protobuf477

 

序列化(1500W次)時間(ms):

thrift二進制306034
thrift壓縮304256
protobuf177652

 

反序列化(1500W次)時間(ms):

thrift二進制287972
thrift壓縮315991
protobuf157192

 

thrift的時間測試可能不是很準,由于thrift產生代碼的復雜性,編寫的測試代碼為了適應其接口,在調用堆棧上可能有一些額外開銷。

 

參考推薦

Apache Avro 與 Thrift 比較(阿里數據平臺)

Apache Thrift – 可伸縮的跨語言服務開發框架(IBM)

Google 的開源技術protobuf 簡介與例子

幾種序列化協議(protobuf,xstream,jackjson,jdk,hessian)相關數據對比

posted on 2016-11-17 14:23 楊粼波 閱讀(4453) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久成人精品视频| 免费成人激情视频| 夜夜狂射影院欧美极品| 欧美精品18+| 亚洲最新合集| 一区二区三区日韩欧美精品| 欧美系列电影免费观看| 亚洲免费在线播放| 午夜在线视频观看日韩17c| 国产农村妇女毛片精品久久麻豆| 欧美主播一区二区三区美女 久久精品人| 99精品国产热久久91蜜凸| 欧美视频在线不卡| 欧美在线观看你懂的| 久久免费黄色| 日韩一区二区精品视频| 亚洲视频免费在线观看| 国产视频一区二区在线观看| 你懂的成人av| 欧美日韩一区二区三区免费| 欧美综合第一页| 嫩草影视亚洲| 亚洲一区国产视频| 久久精品国产91精品亚洲| 亚洲国产精品一区二区www在线| 精品69视频一区二区三区| 久久久久久亚洲精品中文字幕| 久久免费视频在线| 一本久道久久综合狠狠爱| 午夜精品一区二区三区电影天堂| 在线看日韩欧美| 亚洲视频在线观看视频| 在线观看久久av| 一区二区三区蜜桃网| 永久91嫩草亚洲精品人人| 日韩视频在线一区二区三区| 国产一区二区三区在线观看免费| 亚洲盗摄视频| 国产麻豆精品theporn| 亚洲第一二三四五区| 国产免费观看久久| 亚洲精品日本| 亚洲第一主播视频| 香蕉久久a毛片| 亚洲欧美日韩国产中文 | 91久久午夜| 亚洲男人的天堂在线aⅴ视频| 亚洲精品欧美精品| 久久久久久久网站| 欧美在线观看视频一区二区三区| 欧美精品97| 欧美mv日韩mv国产网站app| 国产精品亚洲综合久久| 日韩一区二区免费高清| 亚洲高清久久久| 久久国产99| 久久精品亚洲精品| 国产精品入口66mio| 亚洲日本视频| 亚洲美女91| 欧美国产精品人人做人人爱| 免费欧美高清视频| 激情视频一区二区三区| 欧美一区二区三区成人| 欧美一二区视频| 国产精品无人区| 亚洲免费婷婷| 久久精品一区中文字幕| 国产日韩欧美一区在线 | 欧美黑人一区二区三区| 激情文学综合丁香| 久久欧美肥婆一二区| 免费一级欧美片在线播放| 狠狠色丁香婷婷综合| 久久久www| 欧美国产精品日韩| 亚洲日本精品国产第一区| 欧美成人免费大片| 亚洲人成7777| 亚洲一区视频在线| 国产精品系列在线| 性欧美暴力猛交69hd| 麻豆9191精品国产| 亚洲国产毛片完整版| 欧美精品性视频| 在线视频欧美日韩精品| 午夜日韩激情| 国内精品一区二区| 欧美aⅴ99久久黑人专区| 亚洲精品乱码久久久久| 午夜精品一区二区三区在线| 国产日本欧美一区二区三区在线| 久久精品主播| 亚洲人精品午夜| 欧美影院在线| 亚洲黄色影片| 国产精品男女猛烈高潮激情| 欧美黄色免费| 99riav国产精品| 午夜精品三级视频福利| 国产日韩精品视频一区| 久久久久国产精品人| 亚洲精品在线电影| 欧美在线一级va免费观看| 亚洲成色最大综合在线| 欧美午夜一区| 老**午夜毛片一区二区三区| 夜夜嗨av一区二区三区网站四季av| 久久九九国产| 一二美女精品欧洲| 一区在线免费观看| 国产精品第一区| 蜜桃久久精品一区二区| 亚洲资源av| 亚洲精品美女在线| 久久免费视频在线| 亚洲影音先锋| 亚洲精品一区久久久久久| 国产欧美精品日韩精品| 欧美精品在线免费播放| 久久疯狂做爰流白浆xx| 亚洲丝袜av一区| 最新国产の精品合集bt伙计| 久久性天堂网| 性视频1819p久久| 夜夜嗨av一区二区三区网页| 黄色小说综合网站| 国产精品自拍视频| 欧美特黄视频| 欧美国产极速在线| 免费观看日韩av| 久久国产直播| 香蕉成人啪国产精品视频综合网| 日韩一区二区精品| 亚洲国产网站| 亚洲国产福利在线| 欧美福利一区| 牛牛精品成人免费视频| 久久免费偷拍视频| 久久久久久久成人| 久久精品亚洲国产奇米99| 先锋影音一区二区三区| 亚洲男人的天堂在线观看| 亚洲午夜电影网| 中文av一区特黄| 亚洲先锋成人| 午夜精品电影| 久久精品视频在线播放| 久久精品国产久精国产一老狼| 午夜日韩在线观看| 欧美一区91| 久久久久久久综合| 久久一区免费| 欧美成人一品| 亚洲国内精品| 一区二区欧美精品| 亚洲一区免费| 欧美在线啊v一区| 久久亚洲精品欧美| 欧美成人国产va精品日本一级| 欧美成人精品不卡视频在线观看 | 亚洲美女电影在线| 亚洲精品综合精品自拍| aa国产精品| 先锋影院在线亚洲| 久久亚洲精品视频| 欧美日本高清视频| 国产精品大全| 影音先锋中文字幕一区| 亚洲免费观看高清在线观看 | 欧美一级播放| 久久蜜臀精品av| 欧美韩国日本一区| 夜夜嗨av一区二区三区免费区| 亚洲一区中文| 毛片一区二区| 国产精品久久亚洲7777| 黑人一区二区三区四区五区| 亚洲欧洲在线看| 性视频1819p久久| 欧美电影免费观看高清完整版| 亚洲欧洲精品一区二区| 亚洲永久精品大片| 狂野欧美激情性xxxx欧美| 欧美日韩亚洲激情| 韩国亚洲精品| 亚洲一本视频| 嫩草伊人久久精品少妇av杨幂| 亚洲免费高清| 久久久精品欧美丰满| 欧美日韩系列| 亚洲成色www8888| 亚洲欧美怡红院| 亚洲国产成人午夜在线一区| 亚洲在线免费观看| 欧美精品成人| 影音欧美亚洲| 欧美在线中文字幕| 一本大道久久a久久精二百| 久久久久女教师免费一区|