负载均衡

负载均衡

负载均衡的好处

  • 增加扩展性(increase scalability)

    负载均衡器可以根据服务器的流量峰值来调整(增加或减少)服务器资源

  • 冗余(redudant)

    可以为不可避免的硬件故障和服务器宕机提供安全保障

  • 可维护性和高性能(maintainability and performance)

具有分布在多个位置和各种云环境的web服务器的业务可以随时安排维护,以提高性能,同时对应用程序正常运行时间的影响最小,因为服务器负载平衡器可以将流量重定向到未进行维护的资源。

负载均衡常听到服务端负载均衡客户端负载均衡,下面分别对比这两个概念。

SLB vs CLB

server side load balancer (SLB)

SLB是一个整体,应用于客户端和服务端之间。它接受传入的网络、应用程序流量,并使用各种方法在多个后端服务器之间分配流量。中间的组件负责分发客户端的请求到服务器上。

优点:初始配置比较容易

缺点:当应用整体是动态的,即便是hot reload,也很难操作

例子:nginx, envoy proxy

client side load balancer

客户端维护一个服务器ip列表,采取随机等方式选取ip转发请求。

优点:支持应用服务器动态,当启动时应用会注册它自身

缺点:初始配置比SLB困难,需要额外的注册服务,例如eureka server,eureka client,ribbon client;因为客户端侧可以知道所有应用服务器,所以也存在安全问题

例子:spring cloud ribbon

可以看到SLB和CLB技术主要在启动时配置和后续的动态配置上有差异。

负载均衡算法

随机,权重等

负载均衡相关的应用

zookeeper,ribbon


负载均衡
http://fuheihei.github.io/system_design/负载均衡/
作者
Haha monster
发布于
2023年4月10日
许可协议