AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁(yè) > 科技  > 軟件

JSON, Protobuf, Thrift和MessagePack的優(yōu)缺點(diǎn)對(duì)比

來源: 責(zé)編: 時(shí)間:2024-04-22 17:16:23 184觀看
導(dǎo)讀最近咱們公司內(nèi)部搞了個(gè)技術(shù)交流,討論起了序列化協(xié)議怎么選。我覺得這話題挺有意思的,就順手整理了一下現(xiàn)在主流的序列化協(xié)議的優(yōu)缺點(diǎn)。這樣一來,以后查起來也方便。JSON先說說 JSON,這貨讀起來挺舒服,用起來也簡(jiǎn)單。擴(kuò)展

最近咱們公司內(nèi)部搞了個(gè)技術(shù)交流,討論起了序列化協(xié)議怎么選。我覺得這話題挺有意思的,就順手整理了一下現(xiàn)在主流的序列化協(xié)議的優(yōu)缺點(diǎn)。這樣一來,以后查起來也方便。SDu28資訊網(wǎng)——每日最新資訊28at.com

SDu28資訊網(wǎng)——每日最新資訊28at.com

JSON

先說說 JSON,這貨讀起來挺舒服,用起來也簡(jiǎn)單。擴(kuò)展性和兼容性都不錯(cuò),能在不同語(yǔ)言之間傳來傳去結(jié)構(gòu)化數(shù)據(jù)。SDu28資訊網(wǎng)——每日最新資訊28at.com

但 JSON 也有缺點(diǎn),比如體積大,影響性能,尤其是高并發(fā)的時(shí)候。還有就是缺乏命名空間,有時(shí)候信息會(huì)亂成一團(tuán)。SDu28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)起來,JSON 是個(gè)簡(jiǎn)單通用的應(yīng)用協(xié)議,用得挺廣,開發(fā)效率挺高,但性能一般,維護(hù)成本也偏高。SDu28資訊網(wǎng)——每日最新資訊28at.com

Protobuf

接下來是 Protobuf,這貨是個(gè)高性能、易擴(kuò)展的序列化框架。SDu28資訊網(wǎng)——每日最新資訊28at.com

優(yōu)點(diǎn)很明顯,跨語(yǔ)言,向后兼容,新增字段不影響已有的協(xié)議。代碼自動(dòng)生成,用起來簡(jiǎn)單。二進(jìn)制消息,效率高,性能好。而且安全性也不錯(cuò),只寫字段號(hào),編碼成二進(jìn)制,破解難度大。SDu28資訊網(wǎng)——每日最新資訊28at.com

缺點(diǎn)嘛,二進(jìn)制消息可讀性差,字段冗余,類文件會(huì)越來越大,維護(hù)成本高。而且 Protobuf 只管序列化和反序列化,RPC 功能得另請(qǐng)高明。SDu28資訊網(wǎng)——每日最新資訊28at.com

RPC 是啥?就是遠(yuǎn)程過程調(diào)用,一個(gè)機(jī)器(客戶端)調(diào)用另一個(gè)機(jī)器(服務(wù)器)上的函數(shù)或方法,然后拿到結(jié)果。RPC 會(huì)隱藏底層通信細(xì)節(jié),不用你直接處理 Socket 或 Http 通信,用起來就像調(diào)用本地函數(shù)一樣。SDu28資訊網(wǎng)——每日最新資訊28at.com

總結(jié) Protobuf,上手簡(jiǎn)單,高效,兼容性強(qiáng),但維護(hù)成本也高。SDu28資訊網(wǎng)——每日最新資訊28at.com

Thrift

Thrift 是 Facebook 2007年開發(fā)的跨語(yǔ)言 RPC 框架,支持多語(yǔ)言編譯,提供多種服務(wù)器工作模式。SDu28資訊網(wǎng)——每日最新資訊28at.com

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

缺點(diǎn)是不支持雙通道,RPC 方法非線程安全,服務(wù)器容易被掛死,需要串行化。默認(rèn)不具備動(dòng)態(tài)特性,開發(fā)環(huán)境和編譯有點(diǎn)麻煩。SDu28資訊網(wǎng)——每日最新資訊28at.com

總結(jié) Thrift,跨語(yǔ)言,實(shí)現(xiàn)簡(jiǎn)單,但初次使用有點(diǎn)麻煩,得注意使用問題和場(chǎng)景限制。SDu28資訊網(wǎng)——每日最新資訊28at.com

MessagePack

MessagePack 是一種高效的二進(jìn)制序列化格式。SDu28資訊網(wǎng)——每日最新資訊28at.com

優(yōu)點(diǎn)是跨語(yǔ)言,多語(yǔ)言支持。序列化反序列化效率高,文件體積小,比 JSON 小一倍,還兼容 JSON 數(shù)據(jù)格式。SDu28資訊網(wǎng)——每日最新資訊28at.com

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

總結(jié) MessagePack,性能高,但擴(kuò)展性差,維護(hù)成本高。SDu28資訊網(wǎng)——每日最新資訊28at.com

哦,對(duì)了,在整理的時(shí)候我還有點(diǎn)疑問。有人說 MessagePack 的序列化和反序列化效率是 Protobuf 的 4 倍,我個(gè)人表示懷疑。后續(xù)的文章可能會(huì)對(duì)這兩個(gè)協(xié)議做個(gè)細(xì)致的對(duì)比。SDu28資訊網(wǎng)——每日最新資訊28at.com

好了,今天的分享就到這兒,希望對(duì)你有幫助。有啥問題咱們?cè)儆懻摚?span style="display:none">SDu28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-84586-0.htmlJSON, Protobuf, Thrift和MessagePack的優(yōu)缺點(diǎn)對(duì)比

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 我LocalStorage犯了兩個(gè)小錯(cuò)誤,差點(diǎn)導(dǎo)致項(xiàng)目大崩潰!

下一篇: 五款開源、美觀、強(qiáng)大的WPF UI組件庫(kù)

標(biāo)簽:
  • 熱門焦點(diǎn)
  • K60 Pro官方停產(chǎn) 第三方瞬間漲價(jià)

    雖然沒有官方宣布,但Redmi的一些高管也已經(jīng)透露了,Redmi K60 Pro已經(jīng)停產(chǎn)且不會(huì)補(bǔ)貨,這一切都是為了即將到來的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機(jī)在停產(chǎn)之后
  • 6月iOS設(shè)備性能榜:M2穩(wěn)居榜首 A系列只能等一手3nm來救

    沒有新品發(fā)布,自然iOS設(shè)備性能榜的上榜設(shè)備就沒有什么更替,僅僅只有跑分變化而產(chǎn)生的排名變動(dòng),畢竟蘋果新品的發(fā)布節(jié)奏就是這樣的,一年下來也就幾個(gè)移動(dòng)端新品,不會(huì)像安卓廠商,一
  • K8S | Service服務(wù)發(fā)現(xiàn)

    一、背景在微服務(wù)架構(gòu)中,這里以開發(fā)環(huán)境「Dev」為基礎(chǔ)來描述,在K8S集群中通常會(huì)開放:路由網(wǎng)關(guān)、注冊(cè)中心、配置中心等相關(guān)服務(wù),可以被集群外部訪問;圖片對(duì)于測(cè)試「Tes」環(huán)境或者
  • Flowable工作流引擎的科普與實(shí)踐

    一.引言當(dāng)我們?cè)谌粘9ぷ骱蜆I(yè)務(wù)中需要進(jìn)行各種審批流程時(shí),可能會(huì)面臨一系列技術(shù)和業(yè)務(wù)上的挑戰(zhàn)。手動(dòng)處理這些審批流程可能會(huì)導(dǎo)致開發(fā)成本的增加以及業(yè)務(wù)復(fù)雜度的上升。在這
  • 十個(gè)簡(jiǎn)單但很有用的Python裝飾器

    裝飾器(Decorators)是Python中一種強(qiáng)大而靈活的功能,用于修改或增強(qiáng)函數(shù)或類的行為。裝飾器本質(zhì)上是一個(gè)函數(shù),它接受另一個(gè)函數(shù)或類作為參數(shù),并返回一個(gè)新的函數(shù)或類。它們通常用
  • WebRTC.Net庫(kù)開發(fā)進(jìn)階,教你實(shí)現(xiàn)屏幕共享和多路復(fù)用!

    WebRTC.Net庫(kù):讓你的應(yīng)用更親民友好,實(shí)現(xiàn)視頻通話無(wú)痛接入! 除了基本用法外,還有一些進(jìn)階用法可以更好地利用該庫(kù)。自定義 STUN/TURN 服務(wù)器配置WebRTC.Net 默認(rèn)使用 Google 的
  • 華為Mate 60系列用上可變靈動(dòng)島:正式版體驗(yàn)將會(huì)更出色

    這段時(shí)間以來,關(guān)于華為新旗艦的爆料日漸密集。據(jù)此前多方爆料,今年華為將開始恢復(fù)一年雙旗艦戰(zhàn)略,除上半年推出的P60系列外,往年下半年的Mate系列也將
  • 蘋果、三星、惠普等暫停向印度出口筆記本和平板電腦

    集微網(wǎng)消息,據(jù)彭博社報(bào)道,在8月3日印度突然禁止在沒有許可證的情況下向印度進(jìn)口電腦/平板及顯示器等產(chǎn)品后,蘋果、三星電子和惠普等大公司暫停向印度
  • 2納米決戰(zhàn)2025

    集微網(wǎng)報(bào)道 從三強(qiáng)爭(zhēng)霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無(wú)論是老牌勁旅臺(tái)積電、三星,還是誓言重回先進(jìn)制程領(lǐng)先地位的英特爾,甚至初成立不久的新
Top