作为服务,线上的版本肯定是多实例的版本,这就带来了一个负载均衡的问题,在网上搜了搜资料,有用haproxy做的,由于我对nginx更熟悉一些,因此专注于找这方便的资料,之前的老版本的nginx还真不支持grpc,不过从1.13.10开始支持了,所以赶紧下了一个尝尝鲜,附nginx下载地址. 另外我也在网上找了一些相关资料参考:
安装nginx
tar -xvf nginx-1.14.0.tar.gz // 解压下好的文件
cd nginx-1.14.0
./configure --with-http_ssl_module --with-http_v2_module
sudo make && make install
修改nginx配置文件
我用的是macOs,文件一般会在/usr/local/nginx/conf目录下, 找到里面的nginx.conf, 修改里面的内容如下:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
upstream grpcservers {
server localhost:50050;
server localhost:50051;
}
server {
listen 8080 http2;
server_name localhost;
#charset koi8-r;
access_log logs/host.access.log;
location / {
grpc_pass grpc://localhost:50050;
}
location /helloworld.Greeter {
grpc_pass grpc://grpcservers;
}
}
include servers/*;
}
参考GRPC学习之路(1)——初次上手在本地的启动2个服务端的服务,端口号分别为50050和50051.
然后启动客户端的服务,将连接的端口后改为nginx配置里的8080。启动后查看nginx的log:
附件:nginx配置文件
欢迎关注我的个人的博客www.zhijianliu.cn, 虚心求教,有错误还请指正轻拍,谢谢
版权声明:本文出自志健的原创文章,未经博主允许不得转载