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
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;
}
}
目前在使用 grpc-gateway中间件的时候存在内容content-type 的问题,具体的原因还需要进排查源码
对于grpc 的负载均衡以规则路由目前测试是没有问题的
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 试用的更多相关文章
- Nginx grpc反向代理
L111 首先Grpc 默认编译进Nginx 但是依赖http_v2模块 需要编译进nginx 具体指令可以参考Nginx http 反向代理 指令都类似 分布式反向代理 server { serve ...
- elixir grpc 试用
备注: elixir grpc 封装测试 1. 安装 a. 安装 protoc 参考相关文档,比较简单 b. 安装elixir grpc 插件 protoc-gen-elixir 同时配置环 ...
- nginx报错整理
一. 1.线上有个域名出现一个访问报错: 413 Payload Too Large 这里贴一下关于这个报错的解释: The 413 (Payload Too Large) status code i ...
- Service Mesh - gRPC 本地联调远程服务
Description Service Mesh 架构下,服务间调用会通过服务名(Service Name)互相调用,比如在 Kubernetes .Docker Swarm 集群中,服务 IP 均由 ...
- RPC的故事
今天我跟几个RPC框架之间发生了一些事,情节跌宕起伏一波三折,不吐不快,以至于我这个从来不写博客的人也忍不住写下来分享一下. 背景 主系统部署在Windows上(.NET 4.5),子系统(.NET ...
- Emqtt集群搭建
1 Emqtt简单搭建 1.1 介绍:EMQ:EMQ 2.0,号称百万级开源MQTT消息服务器,基于Erlang/OTP语言平台开发,支持大规模连接和分布式集群,发布订阅模式的开源MQTT消息服务器 ...
- emqtt 分布集群及节点桥接搭建
目录 分布集群 emq@s1.emqtt.io 节点设置 emq@s2.emqtt.io 节点设置 节点加入集群 节点退出集群 节点发现与自动集群 manual 手动创建集群 基于 static 节点 ...
- Nginx宣布正式支持gRPC,附示例代码
原创 2018-03-20 薛命灯 聊聊架构 作者|Owen Garrett编辑|薛命灯 NGINX 官方博客正式宣布 NGINX 支持原生的 gPRC,现在就可以从代码仓库拉取快照版本.该特性将会被 ...
- nginx在centos 7中源码编译安装【添加grpc的支持】
安装依赖软件 1.安装编译工具gcc gcc是一个开源编译器集合,用于处理各种各样的语言:C.C++.Java.Ada等,在linux世界中是最通用的编译器,支持大量处理器:x86.AMD64.Pow ...
随机推荐
- 设计模式--责任链模式C++实现
责任链模式C++实现 1定义 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系.将这些对象链成一条链,并沿着这条链传递该请求/命令,直到有对象处理它为止 注:这里的请求.命令正 ...
- linux中的redis缓存服务器
Linux中的Redis缓存服务器 一.Redis基础部分: 1.redis介绍与安装比mysql快10倍以上 *****************redis适用场合**************** 1 ...
- 012PHP基础知识——运算符(五)
<?php /** * 运算符的短路: * && 逻辑与 || 逻辑或 存在短路: */ /* $a = 1; $a==1 ||$c=100; //逻辑或:第一个表达式返回tru ...
- Oracle 常用系统包
一.DBMS_OUTPUT(用于输入和输出信息) 二.DBMS_JOB(用于安排和管理作业队列) 三.dbms_pipe(类似UNIX系统的管道) 四.dbms_alert(用于生成并传递数据库预警信 ...
- LeetCode OJ:Add and Search Word - Data structure design(增加以及搜索单词)
Design a data structure that supports the following two operations: void addWord(word) bool search(w ...
- LINUX系统中高级网络服务:Bond、Team和网桥
Bond 一.什么是Bond bond就是将两块网卡虚拟链接成一块网卡的技术.通过bond技术让多块网卡看起来是一个单独的以太网接口设备并具有相同的ip地址. 二.为什么要配置Bond 通过网卡绑定技 ...
- vue.js 源代码学习笔记 ----- 工具方法 error
import config from '../config' import { warn } from './debug' import { inBrowser } from './env' // 这 ...
- git checkout 报错 refname 'origin/branch-name' is ambiguous
When this happened, it created the file .git/refs/heads/origin/branch-name. So, I just deleted the f ...
- 监控摄像机常识:宽动态 (WDR)介绍和理解
安装和使用监控摄像机经常会遇到强光问题. 因为我们不可能灵活选择摄像机的安装位置, 解决或者处理强光是一个无法避免的问题. 不管是由反光材质或者灯源造成此反光, 解决问题的方案来自于摄像机支持的一个特 ...
- YXY的测试流程
不同的公司测试流程都会不一样