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.mzph.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…

Cartographer框架简述

catographer框架分为前端和后端 前端包括雷达数据处理;位姿预测;扫描匹配和栅格地图更新。 后端包括后端:线程池任务与调度;向位姿图添加节点,计算节点的子图内约束和子图间约束(回环检测)&…

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

最近,我觉得使用控制台编写游戏太没意思了!! 所以我开始研究图形库了~ 一、setinitmode 函数定义 void EGEAPI setinitmode(int mode, int x CW_USEDEFAULT, int y CW_USEDEFAULT); //设置初始化模式,mode0为普通&#xff0c…

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…

三十年一个大轮回!日股突破“泡沫时期”历史高点

2月22日周四,英伟达四季报业绩超预期,而且本季度业绩指引非常乐观,提振美股股指期货并成为芯片股和AI概念股情绪的重要催化剂。今日亚洲芯片股和AI股起飞,日本在芯片股的带动下突破1989年泡沫时期以来的历史最高收盘价。 美股方面…

(十三)【Jmeter】线程(Threads(Users))之tearDown 线程组

简述 操作路径如下: 作用:在正式测试结束后执行清理操作,如关闭连接、释放资源等。配置:设置清理操作的采样器、执行顺序等参数。使用场景:确保在测试结束后应用程序恢复到正常状态,避免资源泄漏或对其他测试的影响。优点:提供清理操作,确保测试环境的整洁和可重复性…

租用海外服务器,自己部署ChatGPT-Next-Web,实现ChatGPT聊天自由,还可以分享给朋友用

前言 如果有好几个人需要使用ChatGPT,又没有魔法上网环境,最好就是自己搭建一个海外的服务器环境,然后很多人就可以同时直接用了。 大概是情况是要花80元租一个一年的海外服务器,花15元租一个一年的域名,然后openai 的…

一 些有代表性的相位解包裹算法

Itoh首先给出了传统解包裹算法的数学描述!。传统的相位解包裹操作是通过对空间相邻点相位值的比较来完成的。根据抽样定理,如果相邻采样点的相位差不超过z,则对应的相位解包裹处理是非常简单的,理论上以某点为起始点沿某一路径对包裹相位的差…

中科院计算所:什么情况下,大模型才需要检索增强?

ChatGPT等大型语言模型在自然语言处理领域表现出色。但有时候会表现得过于自信,对于无法回答的事实问题,也能编出一个像样的答案来。 这类胡说乱说的答案对于医疗等安全关键的领域来说,是致命的。 为了弥补这一缺陷,研究者们提出…

ios抓包Tunnel to......443

fiddler官网下载“CertMaker for iOS and Android”插件,官网插件:https://www.telerik.com/fiddler/add-ons 双击运行插件后,重启fiddler,ios重新安装证书即可

猫头虎分享已解决Bug || 系统更新失败(System Update Failure):UpdateError, UpgradeFailure

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

Sora:视频生成模型作为世界模拟器

我们探索了视频数据上生成模型的大规模训练。具体来说,我们在可变持续时间、分辨率和长宽比的视频和图像上联合训练文本条件扩散模型。我们利用了一个在视频和图像潜在码的时空块上操作的变压器架构。我们规模最大的模型 Sora 能够生成一分钟的高保真视频。我们的结…

一周学会Django5 Python Web开发-Django5路由重定向

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计25条视频,包括:2024版 Django5 Python we…

代码随想录算法训练营第21天—回溯算法01 | ● 理论基础 ● *77. 组合

理论基础 回溯是一种纯暴力搜索的方法,它和递归相辅相成,通常是执行完递归之后紧接着执行回溯相较于以往使用的for循环暴力搜索,回溯能解决更为复杂的问题,如以下的应用场景应用场景 组合问题 如一个集合{1,2,3,4},找…

alibabacloud学习笔记06(小滴课堂)

讲Sentinel流量控制详细操作 基于并发线程进行限流配置实操 在浏览器打开快速刷新会报错 基于并发线程进行限流配置实操 讲解 微服务高可用利器Sentinel熔断降级规则 讲解服务调用常见的熔断状态和恢复 讲解服务调用熔断例子 我们写一个带异常的接口:

基于Spring Boot的学生评奖评优管理系统,计算机毕业设计(带源码+论文)

源码获取地址: 码呢-一个专注于技术分享的博客平台一个专注于技术分享的博客平台,大家以共同学习,乐于分享,拥抱开源的价值观进行学习交流http://www.xmbiao.cn/resource-details/1760641819451928577

如何切换到Ubuntu系统上来

上篇讲到,使用Ubuntu系统能让人带来积极的影响,那么如何使用上这个系统呢?其实很多时候,不是不会安装的技术问题,而是意愿或者心理障碍的问题。 以下是我使用ubuntu系统一年半的经验,相信经过这三部分的介绍,可以帮助你了解linux系统的最新进展,克服使用困难,使用上U…