我在很长的一段时间认为想 F5 这种负载均衡设备是智商税,现在公有云厂家那么多个家都有负载均衡设备既便宜,性能又高,还免维护,谁还买这么昂贵的设备,最近遇到一个 websocket 负载不均衡的问题,才发现公有云的 wlc 算法存在一定的问题,因为公有云的负载均衡器是多可用区部署,每个负载均衡节点都维持着自己的连接数,各个节点不同步,这也造成有的机器累死,有的机器比较清闲,导致负载不均衡。
目前解决方案如下:
一、 自己搭建负载均衡器,可以是 Nginx ,HAproxy ,高可用做主备。
二、 暴露服务器相关指标给前端,让他们自己实现负载均衡逻辑。
三、 不做任何处理,后端保证性能足够。
四、 使用专业的负载均衡设备,后端 cpu ,内存,连接数指标暴露给负载均衡设备,使其动态调整权重,这种方式是最好的,但是成本也是最高的。