使用 Netty 自定义协议连接物联网设备,业务增大之后,势必需要使用集群方案。
#nginx负载均衡
Nginx 1.9 已经支持 TCP 代理和负载均衡,并可以通过一致性哈希算法将连接均匀的分配到所有的服务器上。
修改配置文件
http{
…
}
stream{
upstream cloudsocket {
hash $remote_addr consistent;server 127.0.0.1:3000 weight=5 max_fails=3 fail_timeout=30s;server 27.196.3.228:4000 weight=5 max_fails=3 fail_timeout=30s; }server {listen 8080;proxy_pass cloudsocket;}
}
注意:stream和http是平级的。
#重启
./nginx -s reload
#检查配置文件语法是否正确
./nginx -t
#停止
./nginx -s stop
经过测试可以发现,设备上报的数据分配到不同服务器上。