ProtoBuf認識與Windows下的安裝

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

顯示版本即可

protobufgo語言插件protoc-gen-go插件

go install github.com/golang/protobuf/protoc-gen-go@latest

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/696359.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/696359.shtml
英文地址,請注明出處:http://en.pswp.cn/news/696359.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WebServer -- 定時器處理非活動連接(上)

目錄 🍍函數指針 🌼基礎知識 🐙整體概述 🎂基礎API sigaction 結構體 sigaction() sigfillset() SIGALRM, SIGTERM 信號 alarm() socketpair() send() 📕信號通知流程 統一事件源 信號處理機制 &#x…

2024全球網絡安全展望|構建協同生態,護航數字經濟

2024年1月,世界經濟論壇發布《2024全球網絡安全展望》報告,指出在科技快速發展的背景下,網絡安全不均衡問題加劇,需加強公共部門、企業組織和個人的合作。 報告強調,面對地緣政治動蕩、技術不確定性和全球經濟波動&am…

基于springboot+vue的美發門店管理系統(前后端分離)

博主主頁:貓頭鷹源碼 博主簡介:Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰,歡迎高校老師\講師\同行交流合作 ?主要內容:畢業設計(Javaweb項目|小程序|Pyt…

Python 高級語法:一切皆對象

1 “一切皆對象”是一種核心設計哲學 在編程領域,特別是面向對象編程(OOP)中,“一切皆對象”是一種核心設計哲學。這種哲學主張,無論是數據、函數、還是更復雜的結構,都可以被視為對象,并賦予…

信息安全基本概念匯總

目錄 一、安全加密算法相關 二、信息安全需求規范相關 三、安全啟動 四、安全更新 五、安全通信SecOC 六、HSM安全固件整體架構 一、安全加密算法相關 基于Autosar的網絡安全理解_搜狐汽車_搜狐網 基于AES的CMAC算法、MAC、Hash、數字簽名之間的關系_aes cmac-CSDN博客…

Cartographer框架簡述

catographer框架分為前端和后端 前端包括雷達數據處理;位姿預測;掃描匹配和柵格地圖更新。 后端包括后端:線程池任務與調度;向位姿圖添加節點,計算節點的子圖內約束和子圖間約束(回環檢測)&…

C++之Easyx——圖形庫的基本功能(1):界面操作

最近,我覺得使用控制臺編寫游戲太沒意思了!! 所以我開始研究圖形庫了~ 一、setinitmode 函數定義 void EGEAPI setinitmode(int mode, int x CW_USEDEFAULT, int y CW_USEDEFAULT); //設置初始化模式,mode0為普通&#xff0c…

Spark中寫parquet文件是怎么實現的

背景 本文基于 Spark 3.5.0 寫本篇文章的目的是在于能夠配合spark.sql.maxConcurrentOutputFileWriters參數來加速寫parquet文件的速度,為此研究一下Spark寫parquet的時候會占用內存的大小,便于配置spark.sql.maxConcurrentOutputFileWriters的值&#…

Javascript怎么輸出內容?兩種常見方式以及控制臺介紹

javascript是一種非常重要的編程語言,在許多網頁中它被廣泛使用,可以實現許多交互效果和動態效果。輸出是javascript中最基本的操作之一,下面將介紹兩種常見的輸出方式。 一、使用console.log()函數輸出 console.log()函數是常用的輸出函數…

Jmeter實現階梯式線程增加的壓測

安裝相應jmeter 插件 1:安裝jmeter 管理插件: 下載地址:https://jmeter-plugins.org/install/Install/,將下載下來的jar包放到jmeter文件夾下的lib/ext路徑下,然后重啟jmeter。 2:接著打開 選項-Plugins Ma…

在Linux上安裝Docker: 一站式指南

Docker 是一款強大的容器化平臺,為開發者提供了一種輕松打包、發布和運行應用的方式。在本文中,我們將探討如何在Linux操作系統上安裝Docker,為你提供一站式指南。 步驟1: 卸載舊版本 在安裝新版Docker之前,建議先卸載舊版本&am…

三十年一個大輪回!日股突破“泡沫時期”歷史高點

2月22日周四,英偉達四季報業績超預期,而且本季度業績指引非常樂觀,提振美股股指期貨并成為芯片股和AI概念股情緒的重要催化劑。今日亞洲芯片股和AI股起飛,日本在芯片股的帶動下突破1989年泡沫時期以來的歷史最高收盤價。 美股方面…

我之前炒股虧麻了,找百融云AI Agent談了談心

春節之前,A股和H股都跌麻了,但是機構的路演和調研反而多了。因為:寫不完的安撫、說不完的陪伴、聽不完的客戶指責、以及撿不完的AH股便宜貨。 有一位血液里流淌著美式咖啡的職場白領,雖然這些年在股市過得很不如意,但…

C語言---鏈表

一.定義 鏈表是由一系列節點組成,每個結點包含兩個域,一個是數據域,數據域用來保存用戶數據,另一個是指針域,保存下一個節點的地址。鏈表在內存中是非連續的。 二.分類 靜態鏈表 動態鏈表 單向鏈表 雙向鏈表 循環鏈…

maven使用問題及解決辦法匯總

文章目錄 1、maven clean后打包出現Cannot create resource output directory2、把已有jar包打包進本地maven倉庫 1、maven clean后打包出現Cannot create resource output directory 主要原因是target目錄被別的程序占用了,最笨的辦法是重啟電腦,當然也…

C++跨模塊釋放內存

linux一個進程只有一個堆,不要考慮這些問題,但是windows一個進程可能有多個堆,要在對應的堆上釋放。 一, MT改MD 一個進程的地址空間是由一個可執行模塊和多個DLL模塊構成的,這些模塊中,有些可能會鏈接到…

代碼隨想錄訓練營第29天| 491.遞增子序列、46.全排列、47.全排列 II

491.遞增子序列 題目鏈接&#xff1a;491. 非遞減子序列 - 力扣&#xff08;LeetCode&#xff09; class Solution {List<List<Integer>> ans new ArrayList<>();public List<List<Integer>> findSubsequences(int[] nums) {backtrack(nums, …

(十三)【Jmeter】線程(Threads(Users))之tearDown 線程組

簡述 操作路徑如下: 作用:在正式測試結束后執行清理操作,如關閉連接、釋放資源等。配置:設置清理操作的采樣器、執行順序等參數。使用場景:確保在測試結束后應用程序恢復到正常狀態,避免資源泄漏或對其他測試的影響。優點:提供清理操作,確保測試環境的整潔和可重復性…

租用海外服務器,自己部署ChatGPT-Next-Web,實現ChatGPT聊天自由,還可以分享給朋友用

前言 如果有好幾個人需要使用ChatGPT&#xff0c;又沒有魔法上網環境&#xff0c;最好就是自己搭建一個海外的服務器環境&#xff0c;然后很多人就可以同時直接用了。 大概是情況是要花80元租一個一年的海外服務器&#xff0c;花15元租一個一年的域名&#xff0c;然后openai 的…

centos安裝擴展

centos下安裝php擴展時遇到的問題php 1.imapgit cd /root/php-5.6.27/ext/imap /usr/local/php/bin/phpize ./configure --prefix/usr/local/imap 錯誤1github configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happe…