找回密码
 立即注册
查看: 240|回复: 0

A tour of gRPC:02

[复制链接]
发表于 2022-7-4 08:01 | 显示全部楼层 |阅读模式
在上一部分,我们了解了gRPC的一些基础理论,接下来我们将尝试编写proto文件,并通过配套的生成 器生成Java和golang的代码。在实践的部分我将尝试构建一个笔记本销售平台,方便我们在实践中进行 学习。
从 proto 生成 golang

1. 新建项目
2. 创建 proto 文件夹
3. 添加 processor_message.proto 文件夹 并 添加一下内容:


如何定义协议信息?
使用 message 后面跟消息名称,在其消息块内,定义其所有字段,格式如下:
a. 消息名称格式应为大驼峰命名
b. 字段名格式应为小写蛇形
c. 数据类型有:string、bool、bytes、float、double、int32、int64、uint32、uint64、sint32、sint64...
d. 每个消息字段应分配一个唯一的标签,标签比字段名称更重要,因为protobuf将使用它来序列化消 息。标签不必是有序或者顺序的,但是对于消息的同级别字段,它们必须是唯一的。


4. 从 protocol buffer 生成 go 代码
a. 安装 protobuf: brew install protobuf
b. 通过 protoc 命令检查是否正确安装
c. 安装两个 go-libraries


根据go版本选择使用上面的go get 或
【 go install http://github.com/golang/protobuf/protoc- gen-go@latest 】
d. 创建一个 pb 文件夹用于存储生成的代码,并执行以下命令。


如果我们每次都输入如此繁琐的命令确实令人烦恼,所以我们可以编写一个简单的 Makefile 减少重复输 入复杂的命令


运行了上面的生成代码后,我们可以在项目目录下的pb文件夹下看到已经生成了processor_message.pb.go
5. 有了上面的经验,我们不妨在process_message.proto中添加一个GPU信息
a. 在添加GPU前,我们还需要先添加一个描述内存的类型memory_message.proto 用于描述显 存。一个描述内存的message应该由 大小 和 单位两部分所组成
新建一个memory_message.proto 增加内存的描述


b. 有了描述显存的memory_message 我们遍可以紧接着添加GPU的内容了,这里我们要使 用import将mermory_message 的内容进行导入(如果这里IDE提示无法导入,则需要设置一下IDE 参考这个https://blog.csdn.net/z449077880/article/details/121741524)


运行make gen 进行生成。
6. 同理,我们接下来添加描述键盘配列的keyboard_message.proto、描述屏幕的screen_message.proto 、描述存储的 storage_message.proto 和描述笔记本信息的laptop_message.proto
a. keyboard_message.proto


b. screen_message.proto


c. storage_message.proto


d. laptop_message.proto


运行make gen 生成代码,可以观察到pb文件夹下已经成功的生成了golang代码
从 proto 生成 Java

1. 新建一个maven项目
2. 导入以下依赖


3. 将上文.proto文件夹拷至main目录下的proto文件夹(需要创建,并右键make as source root)
4. 运行mvn clean comple 观察到 Java下的 pcbook中已经生成了代码。

<hr/>





<hr/>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-26 01:47 , Processed in 0.065658 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表