nginx grpc 试用

Posted rongfengliang-荣锋亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx grpc 试用相关的知识,希望对你有一定的参考价值。

1. 编译

wget https://nginx.org/download/nginx-1.13.10.tar.gz
tar xvf nginx-1.13.10.tar.gz
cd nginx-1.13.10
./configure --with-http_ssl_module --with-http_v2_module

备注:需要安装pcre  openssl 
centos 操作为: yum install -y pcre-devel openssl-devel
2. 简单配置
   upstream  grpc9001 {
       server 127.0.0.1:9001 weight=20 max_fails=2 fail_timeout=30s;
    }
    upstream  grpc9000 {
       server 127.0.0.1:9000 weight=20 max_fails=2 fail_timeout=30s;
    }
    server {
        listen       80 http2;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
            grpc_pass grpc://grpc9001;
        }
        location /userserviceapp.UserServiceApp{
          grpc_pass grpc://grpc9001;
        }
        location /echoservice.EchoService{
          grpc_pass grpc://grpc9000;
        }    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
3. 几个问题
目前在使用  grpc-gateway中间件的时候存在内容content-type 的问题,具体的原因还需要进排查源码
对于grpc 的负载均衡以规则路由目前测试是没有问题的
4. 参考文档
https://www.nginx.com/blog/nginx-1-13-10-grpc/
https://mp.weixin.qq.com/s/kiMAMrPx_6lKYJlFwDK6rA
https://nginx.org/en/docs/http/ngx_http_grpc_module.html

以上是关于nginx grpc 试用的主要内容,如果未能解决你的问题,请参考以下文章

使用Envoy将gRPC转码为HTTP/JSON

GRPC+Nginx

GRPC负载均衡

使用 nginx 终止 grpc 流量

nginx 1.13.10开始支持gRPC

为啥 Nginx 会截断 gRPC 流式响应?