为了账号安全,请及时绑定邮箱和手机立即绑定

nginx 反向代理gRpc(32)

标签:
Nginx

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消