在使用protobuf协议的grpc服务中,通常添加新grpc方法的步骤:
- 在proto文件定义grpc方法和message。
- 根据proto文件生成pb.go文件。
- 实现server端的grpc方法接口,在实现grpc方法函数里面编写业务逻辑代码。
- 使用第三方工具或写一个调用grpc方法的客户端来测试。
其实这四个步骤中涉及的绝大多数代码可以自动生成,简化到只需在proto文件定义grpc方法和message,然后在生成的模板文件填写具体业务逻辑代码即可。
依赖工具
- 准备proto文件 user.proto。
- 安装工具 sponge。
安装完工具sponge后,执行命令打开UI界面:
sponge run
快速创建微服务项目
进入sponge的UI界面,点击左边菜单栏【Protobuf】-->【创建微服务项目】,填写一些参数生成通用的微服务项目代码。
微服务框架使用 grpc,还包含了常用的服务治理功能代码,构建部署脚本等,使用什么数据库由使用者选择。
切换到user目录,执行命令:
# 生成代码
make proto
# 打开internal/service/user.go代码文件,根据生成的示例代码填写具体逻辑代码。
# 编译和启动服务
make run
使用goland IDE打开user服务代码,进入internal/service目录下,打开user_client_test.go
文件,可以在这里测试grpc方法,类似在swagger界面测试接口,测试前填写参数,点击绿色按钮进行测试。
这是根据上面步骤生成的通用微服务代码 https://github.com/zhufuyi/sponge_examples/tree/main/4_micro-grpc-protobuf
在生成的通用微服务代码上可以自动添加CRUD api接口
、人工添加自定义api接口
,点击查看详细的开发通用微服务文档 https://go-sponge.com/zh-cn/microservice-development-protobuf
有疑问加站长微信联系(非本文作者))
