背景
因为业务需要,需要一个跨语言调用的RPC框架,gRPC是Google发布的基于HTTP 2.0传输层协议承载的高性能开源软件框架,本文使用Golang实现一个简单的gRPC服务端。
环境
| 环境 | 版本 |
|---|---|
| 系统 | CentOS7 |
| Golang | 1.19 |
| libprotoc | 22.0 |
安装golang和grpc相关的依赖
golang安装见golang官方
安装 protoc见官方
将相应软件下载下来, 然后将 bin 文件夹添加到 $PATH
项目中安装grpc
go get google.golang.org/grpc
安装protoc-gen-go
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
安装protoc-gen-go-grpc
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
安装protoc-gen-grpc-gateway
go install github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway@latest
安装protoc-gen-swagger
go install github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger@latest
go install的文件会安装在$GOPATH/bin下,所以将$GOPATH/bin添加到$PATH
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc
创建hello.proto文件
生成的golang代码存放在./hello下
生成golang包名为hello
注册的服务为名称为Hello
调用方法为PrintHello
传入的结构体为HelloRequest
带有一个string类型参数:name
返回的消息结构体为HelloReply
带有一个string类型参数为:message
syntax = "proto3";
option go_package="./hello;hello";
package hello;
service Hello {
rpc PrintHello (HelloRequest) returns (HelloReply

本文介绍了如何在CentOS7环境下,利用Golang和gRPC框架搭建一个简单的服务端,包括安装必要的依赖,编写hello.proto协议文件,生成Go代码,实现服务接口,并创建对应的客户端进行通信。
最低0.47元/天 解锁文章
4977

被折叠的 条评论
为什么被折叠?



