poroto3 坑 枚举_gRPC proto3语法

本文详细介绍了gRPC中proto3的序列化原理和特点,包括其速度优势、数据压缩效果,以及如何定义消息类型、分配标识和指定字段规则。还讨论了proto3中的枚举默认值,并提供了不同编程语言下编译.proto文件的产物。
摘要由CSDN通过智能技术生成

公司项目使用了gRPC, 刚从java转go的我实在是搞不懂。百度了参考各种资料,在这里做个记录。

参考:https://blog.csdn.net/carson_ho/article/details/70568606

定义:

一种  结构化数据 的数据存储格式。(类似于xml, json)

作用:

通过将  结构化的数据 进行串行化(序列化),从而实现 数据存储/rpc数据交换 的功能

序列化:将数据结构或对象 转换成 二进制的  过程

饭序列化:将在序列化过程中所生成的二进制串  转换成  数据结构或对象 的过程。

特点:

相对于xml,json,protocol buffer有如下特点:

应用场景:

传输数据量大 & 网络环境不稳定的数据存储 、rpc数据交换的需求场景。

序列化原理解析:

序列化本质:对数据进行编码 + 存储

1. 序列化速度快:

编码/解码 方式简单(只需简单的数学运算= 位移等)

采用pb自身的框架代码 和编译器共同完成

2. 序列化后体积小(数据压缩效果好)

采用了独特的编码方式,如Varint, Zigzag等

采用T - L - V 的数据存储方式,

即 Tag - Length - Value,标识 - 长度 - 字段值 存储方式,减少了分隔符的使用,数据存储得紧凑

使用步骤:

1. 环境配置

1.1 下载p

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值