使用Golang搭建一个简单的gRPC服务

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

背景

因为业务需要,需要一个跨语言调用的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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三千喵喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值