protobuf簡介
Protobuf 是 Protocol Buffers 的簡稱,它是 Google 公司開發的一種數據描述語言,是一種輕便高效的結 構化數據存儲格式,可以用于結構化數據,或者說序列化。它很適合做數據存儲 或 RPC 數據交換格 式 。可用于通訊協議、數據存儲等領域的語言無關、平臺無關、可擴展的序列化結構數據格式。他是一 種靈活,高效,自動化的機制,用于序列化結構化數據,對比于 XML 和 JSON ,他更小,更快、更簡 單。總之他是微服務中需要使用的東西。
Protobuf 剛開源時的定位類似于 XML 、 JSON 等數據描述語言,通過附帶工具生成代碼并實現將結構化 數據序列化的功能。這里我們更關注的是Protobuf 作為接口規范的描述語言,可以作為設計安全的跨語 言RPC 接口的基礎 工具。
需要了解兩點1. protobuf 是類似與 json 一樣的數據描述語言(數據格式)2. protobuf 非常適合于 RPC 數據交換格式
protobuf的優勢和劣勢:
優勢:
1 :序列化后體積相比 Json 和 XML 很小,適合網絡傳輸2 :支持跨平臺多語言3 :消息格式升級和兼容性很好4 :序列化反序列化速度很快,快于 Json 的處理速度
劣勢:
1 :應用不夠廣 ( 相比 xml 和 json)2 :二進制格式導致可讀性差3 :缺乏自描述
protobuf的安裝?
1 、安裝 protobuf
GitHub - protocolbuffers/protobuf: Protocol Buffers - Google's data interchange format

點擊latest,然后找到win-64的壓縮包

下載后解壓,添加到環境變量
我的安裝目錄:D:\protoc-25.3-win64\bin
環境變量打開:我的電腦->右鍵屬性-》高級系統設置-》環境變量-》系統變量-》找到path-》編輯-》保存即可

win+r,打開cmd,輸入?
protoc --version
顯示版本即可
protobuf的go語言插件protoc-gen-go插件
go install github.com/golang/protobuf/protoc-gen-go@latest