继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

nginx 反向代理gRpc(32)

瓦力博客
关注TA
已关注
手记 54
粉丝 26
获赞 78

gRPC是一个高性能、通用的开源 RPC 框架,其由 Google 主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。gRPC 提供了一种简单的方法来精确地定义服务和为 iOS、Android 和后台支持服务自动生成可靠性很强的客户端功能库。客户端充分利用高级流和链接功能,从而有助于节省带宽、降低的 TCP 链接次数、节省 CPU 使用、和电池寿命。

1.GRPC模式

  • 简单模式
  • 双向数据流模式

简单模式

客户端发起一次请求,服务端响应一个请求

双向数据流模式

客户端和服务端都可以向对方发送数据流,这个时候双方的数据可以同时互相发送

2.nginx作为grpc反向代理原理

ssl

3.升级nginx

nginx -v

由于nginx 1.13.10版本之后才支持GRPC,如果nginx版本较低,请升级nginx 版本升级{:target="_blank"}

4.部署go语言环境

GRPC支持很多语言,如C++、C#、GO、JAVA、Node.js、Python、Ruby、Web等。小菜在这里演示用的是GO语言。

进入Go 官方网站{:target="_blank"}下载我们需要的Go 下载包{:target="_blank"},根据自己的操作系统选择不同的GO包。拷贝下载地址

cd /opt/download
wget https://dl.google.com/go/go1.11.4.linux-amd64.tar.gz
tar -xvf go1.11.4.linux-amd64.tar.gz 
mv go /usr/local/
cd /usr/local/
/usr/local/go/bin/go version   #查看go版本
echo $PATH                     
vim /etc/profile

在文件末尾添加环境变量

export GOPATH=/opt/go
export PATH=$PATH:/usr/local/go/bin

source /etc/profile  #使配置文件生效
go version           #在任何地方输入,输出go版本说明go环境安装好了

5.安装GRPC框架

git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc
git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net
git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
git clone https://github.com/google/go-genproto.git $GOPATH/src/google.golang.org/genproto
git clone https://github.com/golang/sys.git $GOPATH/src/golang.org/x/sys
cd $GOPATH/src/
go install google.golang.org/grpc

测试用例
cd /opt
git clone https://github.com/grpc/grpc-go.git

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP