leader:请你用Protobuf进行数据交互🥲

321 阅读1分钟

初识Protobuf

Protocol Buffers(简称Protobuf)是一种与语言无关、平台无关且可扩展的机制,用于序列化结构化数据。它是由Google设计的一种灵活、高效、自动化的方法,用于解决类序列化问题。 Protobuf是一种无关语言,无关平台的,用于序列化结构化数据的工具。相对于JSON体积更小,更快。 Protobuf定义在.proto文件中,在特定的语言进行编译时候,进行动态编译。 动态编译指的是:我可以把.proto文件同时放在client,server当我需要改动的时候同时生效。它是采用一个二进制流去处理很多冗余让存储数据压缩。当我们要数据的时候通过protobuf反序列化取到对应的结构化数据。

项目准备

image.png 从gitlab上拉取项目

image.png 在package.json文件下执行以下命令 "proto:strategy": "pbjs -t json-module -r strategy -w es6 -o src/utils/proto/strategy.js ../experience-service-protobuf/protobuf/admin/*.proto"

这样我们就可以将protobuf文件编译成js了。

文件的配置

image.png **PB_LOOK_TYPE_PATH_REQUEST 和 PB_LOOK_TYPE_PATH_RESPONSE**这两个字段用来指定Protobuf消息类型的路径

image.png package 是admin_pb,

image.png message是 ListGrayscaleConfigsRequest 因此路径为

image.png 设置 PB_MODULE"STRATEGY" 来表明这个请求是针对策略管理模块的。

之后呢我们可以在封装好的请求api里边设置

image.png

image.png

好啦今天的分享就到这儿啦!