美文网首页
grpc 使用

grpc 使用

作者: 咯噔爸比 | 来源:发表于2021-03-19 11:22 被阅读0次

1.第一步安装 protobuf

传送门:https://blog.csdn.net/u014534808/article/details/80203018

在此页面选择合适的版本,我选择的是最新的3.5.0,需要注意的mac下是不要下载protoc-3.5.1-xxx的包,因为这些包缺少相关命令,会导致后面安装失败。 此处我推荐安装protobuf-all-3.5.0.tar.gz

2. 解压

tar -zxf protobuf-all-3.5.0.tar.gz

3. 跳转到解压后的目录

cd  protobuf-3.5.0

4. 设置编译目录

./configure --prefix=/usr/local/protobuf
/usr/local/protobuf/ 为自己配置的编译安装目录

5. 安装

还是在解压的目录下进行

make
make install

6. 配置环境变量

sudo  vim .bash_profile

7. 添加配置文件

export PROTOBUF=/usr/local/protobuf
export PATH=$PROTOBUF/bin:$PATH
PS: 如果第七步数据保存不了可以先切换到root 用户进行保存
sudo -i
source .bash_profile

9. 测试安装结果

输入protoc --version
看到如下结果表示安装成功:

protoc --version
libprotoc 3.5.0

拉取grpc代码

## github 拉取代码错误
cd src/google.golang.org
git clone https://github.com/grpc/grpc-go grpc 报错
fatal: unable to access 'https://github.com/grpc/grpc-go/': Failed to connect to github.com port 443: Operation timed out

修改站点两个地址
打开ipaddress.com,查询如下两个域名,并分别记录下其对应的ip:
1、github.com
2、github.global.ssl.fastly.net

安装 Go 的 protoc 插件:

# go get -u github.com/golang/protobuf/protoc-gen-go 失败的话
cd src/google.golang.org
git clone https://github.com/google/go-genproto genproto

编写用于gRPC的pb文件

# cd $GOPATH/src/
# mkdir example
# cd example
# mkdir helloworld
# vim helloworld/helloworld.proto
syntax = "proto3";
option go_package = ".;helloworld";# 需要增加不然会报错
package helloworld;

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings
message HelloReply {
  string message = 1;
}

编译pb生成go代码

# protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld

编写服务

编写服务执行就可以了

相关文章

网友评论

      本文标题:grpc 使用

      本文链接:https://www.haomeiwen.com/subject/zojkcltx.html