nginx 配置负载均衡 tcp代理

LB (负载均衡器) 负责分发设备的 MQTT 连接与消息到 EMQ X 集群,LB 提高 EMQ X 集群可用性、实现负载平衡以及动态扩容

部署架构推荐在 LB 终结 SSL 连接。设备与 LB 之间 TLS 安全连接,LB 与 EMQ X 之间普通 TCP 连接。这种部署模式下 EMQ X 单集群可轻松支持 100 万设备

一,websocket负载均衡

	  upstream tomcatserver1 {  
		    server 192.168.78.131:8083 weight=1;  #负载均衡的主机IP与端口 weight权重 代表分到资源的比例
		    server 192.168.78.130:8083 weight=1;
	  }  

     server {
        listen       8083;
        server_name  192.168.0.153;
	 # 转发websocket需要的设置
        proxy_set_header X-Real_IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X_Forward_For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
      location / {
            proxy_pass  http://tomcatserver1;
        }

在这里插入图片描述

二,tcp代理 配置负载均衡

必须是 nginx-1.9.0 以上版本(包括1.9.0)。该版本之后,增加了 stream module,可以实现tcp代理 配置负载均衡

stream{
	 upstream mqtt_servers {
	    zone tcp_servers 64k;
	    #hash $remote_addr;
	    server 192.168.78.131:1883 weight=1 max_fails=2 fail_timeout=30s;
	    server 192.168.78.130:1883 weight=1 max_fails=2 fail_timeout=30s;
	 }

	server {
	    listen 1883;
	    #status_zone tcp_server;
	    proxy_pass mqtt_servers;
	    proxy_buffer_size 4k;
	    tcp_nodelay on;
	}
}

http{
    ...
}

负载均衡的作用

将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量

1)down

表示单前的server暂时不参与负载

2)Weight

默认为1.weight越大,负载的权重就越大。

3)max_fails

允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

4)fail_timeout

max_fails 次失败后,暂停的时间。

5)Backup

其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值