溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Protobuf API有什么用

發(fā)布時(shí)間:2021-12-30 10:56:33 來(lái)源:億速云 閱讀:157 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)Protobuf API有什么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

Protocol Buffer(簡(jiǎn)稱Protobuf) 是Google出品的性能優(yōu)異、跨語(yǔ)言、跨平臺(tái)的序列化庫(kù)。你可以把它想像成是 XML 或 JSON 格式,但是更小、更快,而且更簡(jiǎn)潔。

Protobuf API有什么用

Protobuf 歷史
2001年初,Protobuf首先在Google內(nèi)部創(chuàng)建,稱之為   proto1  ,一直以來(lái)在Google的內(nèi)部使用,其中也不斷的演化,根據(jù)使用者的需求也添加很多新的功能,一些內(nèi)部庫(kù)依賴它。幾乎每個(gè)Google的開(kāi)發(fā)者都會(huì)使用到它。

Google開(kāi)始開(kāi)源它的內(nèi)部項(xiàng)目時(shí),因?yàn)橐蕾嚨年P(guān)系,所以他們決定首先把Protobuf開(kāi)源出去。proto1在演化的過(guò)程中有些混亂,所以Protobuf的開(kāi)發(fā)者重寫了Protobuf的實(shí)現(xiàn),保留了proto1的大部分設(shè)計(jì),以及proto1的很多的想法。但是開(kāi)源的proto2不依賴任何的Google的庫(kù),代碼也相當(dāng)?shù)那逦?008年7月7日,Protobuf開(kāi)始公布出來(lái)。

Protobuf公布出來(lái)也得到了大家的廣泛的關(guān)注, 逐步地也得到了大家的認(rèn)可,很多項(xiàng)目也采用Protobuf進(jìn)行消息的通訊,還有基于Protobuf的微服務(wù)框架GRPC。在使用的過(guò)程中,大家也提出了很多的意見(jiàn)和建議,Protobuf也在演化,于2016年推出了Proto3。Proto3簡(jiǎn)化了proto2的開(kāi)發(fā),提高了開(kāi)發(fā)的效能,但是也帶來(lái)了版本不兼容的問(wèn)題。

Protobuf API有什么用

目前Protobuf的穩(wěn)定版本是3.9.2,于2019年9月23日發(fā)布。由于很多公司很早的就采用了Protobuf,所以很多項(xiàng)目還在使用proto2協(xié)議,目前是proto2和proto3同時(shí)在使用的狀態(tài)。

New API
3月2日  ,Golang官方宣布最新版本的API for  Protocol Buffer  ,這是一次重大版本的升級(jí)(不兼容之前版本,這里的版本指的是API版本不是proto2/proto3,但官方會(huì)無(wú)限期維護(hù)老版本  Protobuf API有什么用  )。

新特性

  • google.golang.org/protobuf/encoding/protojson 使用規(guī)范的 JSON 映射將 protocol buffer 消息與 JSON 相互轉(zhuǎn)換,并解決了舊 jsonpb package 難以解決的許多問(wèn)題,而這些問(wèn)題不會(huì)對(duì)現(xiàn)有用戶造成問(wèn)題。

  • google.golang.org/protobuf/types/dynamicpb 為 protocol buffer 類型在運(yùn)行時(shí)派生的消息提供了 proto.Message 的實(shí)現(xiàn)。

  • google.golang.org/protobuf/testing/protocmp 提供了將 protocol buffer 消息與 github.com/google/cmp 進(jìn)行比較的功能。

  • google.golang.org/protobuf/compiler/protogen 提供了對(duì)編寫協(xié)議編譯器插件的支持。

感謝各位的閱讀!關(guān)于“Protobuf API有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI