定义
负载均衡在系统架构中非常重要,并且不得不实施,是对系统的高可用、网络压力的缓解和处理能力扩充的重要手段之一。
分类
实现负载均衡的方式
(1)硬件负载均衡:通过在服务器节点之间按照专门用于负载均衡的设备,比如F5等;
(2)软件负载均衡:通过在服务器上安装一些用于负载均衡功能或模块等软件来完成请求分发工作,比如Nginx等。
实现负载均衡的端点
(1)服务端负载均衡
硬件负载均衡的设备或者软件负载均衡的软件模块都会维护一个下挂可用的服务端清单。通过心跳检测来提出故障的服务节点以保证清单中都是正常可以访问的服务端节点。当客户端发送请求到负载均衡模块的时候,该模块通过某种算法(比如先行轮训、按权重负载、按流量负载等)从维护的可用服务端清单中取出一台服务端地址,然后进行转发。
(2)客户端负载均衡
所有客户端节点都维护这自己要访问的服务端清单,这些服务端清单来自服务注册中心。通服务端负载均衡的架构类似,在客户端负载均衡中也需要心跳去维护服务端清单的健康性。
参考博客:Ribbon详解