SLB vs CLB

时间:2022-06-28 14:57:19

什么是SLB?

SLB, 服务器负载均衡(Server Load Balancing),可以看作HSRP(热备份路由器协议)的扩展,实现多个服务器之间的负载均衡。

虚拟服务器代表的是多个真实服务器的群集,客户端向虚拟服务器发起连接时,通过某种负载均衡算法,转发到某真真实服务器。

负载均衡的算法有两种:Weighted round robin(WRR)和Weighted least connections(WLC)

  WRR使用加权轮询算法分配链接;

  WLC通过一定的权值,将下一个连接分配给活动连接数少的服务器。

有点:

  集中管理服务,集群扩容,客户端不需要重启

缺点:

  代理服务器会成为性能瓶颈

什么是CLB?

CLB,客户端负载均衡(Clien Load Balancing),主要采用的是一致性hash算法,根据请求的数据,通过hash算法映射到服务器上的节点。

优点:

  性能好,不存在瓶颈。

缺点:

  由于客户端保存服务器列表,不利于扩展。

  更新的时候,客户端可能需要重启,如果可能端较多,难于管理。

犀利用法

要点:分布式配置

搭建CLB,但是配置文件放到zookeeper中,zookeeper相当于代理服务器,但是只存放配置文件,请求不走不走zookepper,实现高可用、无瓶颈的负载均衡策略。如果配置(即IP地址)发生变更,zookeeper通知客户端重新加载配置。