gRPC学习之二:GO的gRPC开发环境准备(1)

  1. 在CentOS7部署和设置GO

  2. GO的gRPC开发环境准备

  3. 初试GO版gRPC开发

  4. 实战四类服务方法

  5. gRPC-Gateway实战

  6. gRPC-Gateway集成swagger

本篇概览

  • 本文《gRPC学习》系列的第二篇,前文在CentOS7环境装好了GO,接下来要把gRPC开发环境准备好,总的来说一共三步:

在这里插入图片描述

安装protoc

  1. protoc是编译工具,安装方式是下载二进制文件,直接复制粘贴以下命令执行即可:

mkdir -p $GOPATH/bin \

&& mkdir ~/temp-protoc-download \

&& wget https://github.com/protocolbuffers/protobuf/releases/download/v3.14.0/protoc-3.14.0-linux-x86_64.zip -O ~/temp-protoc-download/protoc.zip \

&& cd ~/temp-protoc-download \

&& unzip protoc.zip \

&& cp ./bin/protoc $GOPATH/bin/ \

&& cd ~/ \

&& rm -rf ~/temp-protoc-download

  1. 执行protoc --version检查protoc安装是否成功:

[golang@centos7 ~]$ protoc --version

libprotoc 3.14.0

安装protoc-gen-go和grpc包遇到的问题

  • 实际证明,用go get命令安装protoc-gen-go和grpc包的时候经常提示网络错误,于是我写了个shell脚本,将protoc-gen-go和grpc包的源码从GitHub下载下来,在本地编译构建,达到go get安装相同的效果;

  • 使用git clone命令下载源码比较耗时(文件数量太多),因此我写的脚本是下载对应的源码包(zip文件),再解压,和git clone效果相同但是耗时减少很多;

  • 因此,接下来的操作是一个脚本完成protoc-gen-go和grpc包的安装;

安装protoc-gen-go和grpc包

  1. 执行以下命令即可完成protoc-gen-go和grpc包的安装:

curl -o install-grpc.sh \

https://raw.githubusercontent.com/zq2599/blog_demos/master/files/install-grpc.sh \

&& chmod a+x ./install-grpc.sh \

&& ./install-grpc.sh

  1. 控制台输出以下信息,无错误,表示安装成功:

install protoc-gen-go

go: downloading google.golang.org/protobuf v1.23.0

install grpc

clear resource

install finish

  1. 在$GOPATH/bin目录可见protoc-gen-go:

[golang@centos7 ~]$ cd $GOPATH/bin

[golang@centos7 bin]$ ls

protoc protoc-gen-go

  • 至此,gRPC开发环境已经准备完毕,下一篇可以开始实战了;

安装脚本一览

protoc-gen-go和grpc包的安装过程都在install-grpc.sh中完成,该脚本内容如下所示,可见都是些很简单的操作:下载源码、解压、构建

#!/bin/bash

mkdir ~/temp-grpc-install

echo “clear old files”

rm -rf $GOPATH/src/google.golang.org/grpc

rm -rf $GOPATH/src/golang.org/x

rm -rf $GOPATH/src/google.golang.org/protobuf

rm -rf $GOPATH/src/github.com/golang/protobuf

rm -rf $GOPATH/src/google.golang.org/genproto

echo “create directory”

mkdir -p $GOPATH/src/google.golang.org/

mkdir -p $GOPATH/src/golang.org/x

mkdir -p $GOPATH/src/github.com/golang/

echo “1. grpc”

cd ~/temp-grpc-install

wget https://github.com/grpc/grpc-go/archive/master.zip -O grpc-go.zip

unzip grpc-go.zip -d $GOPATH/src/google.golang.org/

cd $GOPATH/src/google.golang.org/

mv grpc-go-master grpc

echo “2. x/net”

cd ~/temp-grpc-install

wget https://github.com/golang/net/archive/master.zip -O net.zip

unzip net.zip -d $GOPATH/src/golang.org/x/

cd $GOPATH/src/golang.org/x/

mv net-master net

echo “3. x/text”

cd ~/temp-grpc-install

wget https://github.com/golang/text/archive/master.zip -O text.zip

unzip text.zip -d $GOPATH/src/golang.org/x/

cd $GOPATH/src/golang.org/x/

mv text-master text

echo “4. protobuf-go”

cd ~/temp-grpc-install

wget https://github.com/protocolbuffers/protobuf-go/archive/master.zip -O protobuf-go.zip

unzip protobuf-go.zip -d $GOPATH/src/google.golang.org/

cd $GOPATH/src/google.golang.org/

mv protobuf-go-master protobuf

echo “5. protobuf”

cd ~/temp-grpc-install

wget https://github.com/golang/protobuf/archive/master.zip -O protobuf.zip

unzip protobuf.zip -d $GOPATH/src/github.com/golang/

cd $GOPATH/src/github.com/golang/

mv protobuf-master protobuf

echo “6. go-genproto”

cd ~/temp-grpc-install

wget https://github.com/google/go-genproto/archive/master.zip -O go-genproto.zip

unzip go-genproto.zip -d $GOPATH/src/google.golang.org/

cd $GOPATH/src/google.golang.org/

mv go-genproto-master genproto

echo “7. x/sys”

cd ~/temp-grpc-install

wget https://github.com/golang/sys/archive/master.zip -O sys.zip

unzip sys.zip -d $GOPATH/src/golang.org/x/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值