日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

JSON, Protobuf, Thrift和MessagePack的優缺點對比

來源: 責編: 時間:2024-04-22 17:16:23 186觀看
導讀最近咱們公司內部搞了個技術交流,討論起了序列化協議怎么選。我覺得這話題挺有意思的,就順手整理了一下現在主流的序列化協議的優缺點。這樣一來,以后查起來也方便。JSON先說說 JSON,這貨讀起來挺舒服,用起來也簡單。擴展

最近咱們公司內部搞了個技術交流,討論起了序列化協議怎么選。我覺得這話題挺有意思的,就順手整理了一下現在主流的序列化協議的優缺點。這樣一來,以后查起來也方便。Qir28資訊網——每日最新資訊28at.com

Qir28資訊網——每日最新資訊28at.com

JSON

先說說 JSON,這貨讀起來挺舒服,用起來也簡單。擴展性和兼容性都不錯,能在不同語言之間傳來傳去結構化數據。Qir28資訊網——每日最新資訊28at.com

但 JSON 也有缺點,比如體積大,影響性能,尤其是高并發的時候。還有就是缺乏命名空間,有時候信息會亂成一團。Qir28資訊網——每日最新資訊28at.com

總結起來,JSON 是個簡單通用的應用協議,用得挺廣,開發效率挺高,但性能一般,維護成本也偏高。Qir28資訊網——每日最新資訊28at.com

Protobuf

接下來是 Protobuf,這貨是個高性能、易擴展的序列化框架。Qir28資訊網——每日最新資訊28at.com

優點很明顯,跨語言,向后兼容,新增字段不影響已有的協議。代碼自動生成,用起來簡單。二進制消息,效率高,性能好。而且安全性也不錯,只寫字段號,編碼成二進制,破解難度大。Qir28資訊網——每日最新資訊28at.com

缺點嘛,二進制消息可讀性差,字段冗余,類文件會越來越大,維護成本高。而且 Protobuf 只管序列化和反序列化,RPC 功能得另請高明。Qir28資訊網——每日最新資訊28at.com

RPC 是啥?就是遠程過程調用,一個機器(客戶端)調用另一個機器(服務器)上的函數或方法,然后拿到結果。RPC 會隱藏底層通信細節,不用你直接處理 Socket 或 Http 通信,用起來就像調用本地函數一樣。Qir28資訊網——每日最新資訊28at.com

總結 Protobuf,上手簡單,高效,兼容性強,但維護成本也高。Qir28資訊網——每日最新資訊28at.com

Thrift

Thrift 是 Facebook 2007年開發的跨語言 RPC 框架,支持多語言編譯,提供多種服務器工作模式。Qir28資訊網——每日最新資訊28at.com

優點是序列化和 RPC 一站式解決,比 Protobuf 方便。跨語言,IDL 接口定義語言,自動生成多語言文件。省流量,體積小。包含完整的客戶端/服務端堆棧,RPC 實現起來快。服務端有多種工作模式,比如線程池、非阻塞模型。Qir28資訊網——每日最新資訊28at.com

缺點是不支持雙通道,RPC 方法非線程安全,服務器容易被掛死,需要串行化。默認不具備動態特性,開發環境和編譯有點麻煩。Qir28資訊網——每日最新資訊28at.com

總結 Thrift,跨語言,實現簡單,但初次使用有點麻煩,得注意使用問題和場景限制。Qir28資訊網——每日最新資訊28at.com

MessagePack

MessagePack 是一種高效的二進制序列化格式。Qir28資訊網——每日最新資訊28at.com

優點是跨語言,多語言支持。序列化反序列化效率高,文件體積小,比 JSON 小一倍,還兼容 JSON 數據格式。Qir28資訊網——每日最新資訊28at.com

缺點是缺乏復雜模型支持,對復雜數據類型(List、Map)支持不夠。序列化沒問題,但反序列化回來就麻煩了,尤其是對 Java 開發人員來說。維護成本也高,因為 MessagePack 通過值的順序來定位屬性,不同語言中都得維護一樣的模型和屬性順序。還不支持模型嵌套。Qir28資訊網——每日最新資訊28at.com

總結 MessagePack,性能高,但擴展性差,維護成本高。Qir28資訊網——每日最新資訊28at.com

哦,對了,在整理的時候我還有點疑問。有人說 MessagePack 的序列化和反序列化效率是 Protobuf 的 4 倍,我個人表示懷疑。后續的文章可能會對這兩個協議做個細致的對比。Qir28資訊網——每日最新資訊28at.com

好了,今天的分享就到這兒,希望對你有幫助。有啥問題咱們再討論!Qir28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-84586-0.htmlJSON, Protobuf, Thrift和MessagePack的優缺點對比

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 我LocalStorage犯了兩個小錯誤,差點導致項目大崩潰!

下一篇: 五款開源、美觀、強大的WPF UI組件庫

標簽:
  • 熱門焦點
  • Find N3入網:最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經正式入網,型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • 石頭智能洗地機A10 Plus體驗:雙向自清潔治好了我的懶癌

    一、前言和介紹專為家庭請假懶人而生的石頭科技在近日又帶來了自己的全新旗艦新品,石頭智能洗地機A10 Plus。從這個產品名上就不難看出,這次石頭推出的并不是常見的掃地機器
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • 微軟邀請 Microsoft 365 商業用戶,測試視頻編輯器 Clipchamp

    8 月 1 日消息,微軟近日宣布即將面向 Microsoft 365 商業用戶,開放 Clipchamp 應用,邀請用戶通過該應用來編輯視頻。微軟于 2021 年收購 Clipchamp,隨后開始逐步整合到 Microsof
  • JVM優化:實戰OutOfMemoryError異常

    一、Java堆溢出堆內存中主要存放對象、數組等,只要不斷地創建這些對象,并且保證 GC Roots 到對象之間有可達路徑來避免垃 圾收集回收機制清除這些對象,當這些對象所占空間超過
  • 網紅炒股不為了賺錢,那就是耍流氓!

    來源:首席商業評論6月26日高調宣布入市,網絡名嘴大v胡錫進居然進軍了股市。在一次財經媒體峰會上,幾個財經圈媒體大佬就“胡錫進炒股是否知道認真報道”展開討論。有
  • 東方甄選單飛:有些鳥注定是關不住的

    作者:彭寬鴻來源:華爾街科技眼‍‍‍‍‍‍‍‍‍‍東方甄選創始人俞敏洪帶隊的“7天甘肅行”直播活動已在近日順利收官。成立后一
  • 三星Galaxy Z Fold5官方渲染圖曝光:13.4mm折疊厚度依舊感人

    據官方此前宣布,三星將于7月26日在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
  • 與兆芯合作 聯想推出全新旗艦版筆記本電腦開天N7系列

    聯想與兆芯合作推出全新聯想旗艦版筆記本電腦開天 N7系列。這個系列采用兆芯KX-6640MA處理器平臺,KX-6640MA 處理器是采用了陸家嘴架構,16nm 工藝,4 核 4 線
Top 主站蜘蛛池模板: 石首市| 吴川市| 泾阳县| 揭东县| 上高县| 红安县| 九龙坡区| 西华县| 乌拉特后旗| 台东县| 绥宁县| 安多县| 泰来县| 永福县| 高雄市| 浦江县| 安吉县| 潮州市| 合阳县| 斗六市| 永宁县| 葵青区| 三台县| 乐至县| 龙州县| 瑞安市| 鞍山市| 财经| 营山县| 闽清县| 山阳县| 平阴县| 禄劝| 公安县| 兴仁县| 张家口市| 紫阳县| 密山市| 汝阳县| 怀安县| 通许县|