为什么要负载均衡
随着设备连接数增多,单台服务器支撑的TCP长连接数有限,这个时候程序架构就需要改变,一般都会采取横向扩展,增加多台服务器程序。怎么将TCP长连接均衡的路由到不同的服务器,这个时候就需要实现负载均衡了。
两种不同的场景和方案
目前笔者想到的两种应用场景是:
- 客户端实现比较简单,所有客户端都会连接同一个ip域名和端口。客户端不会去请求可用服务器列表,然后去根据具列表选择不同的服务器。比如说一些DTU等硬件设备或者因为前期没有考虑负载均衡而导致的遗留老项目。
解决方案:
在目标服务器上做TCP负载均衡,转发到不同的服务器上,但是这种方案需要解决负载均衡服务器的单点故障。例如可以通过Nginx开启TCP负载均衡功能来实现。 - 客户端本身就实现了请求可用服务器列表,然后根据列表去连接不同的服务器。
解决方案
解决方案比较多,例如可以通过Zookeeper、SpringCloud等来实现
方案一:Nginx实现负载均衡
1. 安装Nginx
参考的资料:https://my.oschina.net/ouyush...
参考的资料:http://www.jiagoumi.com/work/...
(0)安装依赖