系统设计基础:负载均衡器Load Balancer入门( 二 )


· 首先 , 负载均衡器需要确保所选服务器具有响应能力; 表示它正在响应其请求 。
· 其次 , 负载均衡器使用一种预先配置的算法从一组响应正常的服务器中选择一个 。
运行状况检查:负载均衡器需要将流量转发到运行状况良好或响应迅速的后端服务器 。为了监视健康 , 负载均衡器不断尝试连接到后端服务器 , 以确保服务器正在侦听 。如果服务器无法通过运行状况检查进行ping操作 , 则会将其从池中删除 , 并且直到再次响应之前 , 请求都不会转发到该服务器 。
系统设计基础:负载均衡器Load Balancer入门文章插图
负载均衡技术:有多种类型的负载均衡方法 。每种类型出于不同目的使用不同的算法 。这些技术实际上是服务器选择策略的不同类型 。以下是负载均衡技术的列表:
· 随机选择:在这种方法中 , 服务器是随机选择的 。选择服务器时没有计算其他因素 。某些服务器可能处于闲置状态 , 而某些服务器因这种技术而被请求超载 。
· Round Robin:这是最常见的负载平衡方法之一 。 这是一种方法 , LB会按一定顺序在一组服务器之间重定向传入的流量 。 检查图2;列出了五台服务器;第一个请求发送到服务器1 , 第二个请求发送到服务器2 , 依此类推 。 当LB到达列表的末尾时 , 它将从服务器1的开头重新开始 。 它几乎均匀地平衡了服务器之间的流量 。 但是在这种方法中 , 不考虑服务器规格 。 服务器必须具有相同的规格 , 此方法才有用 。 否则 , 处理能力低的服务器可能与处理能力高的服务器具有相同的负载 。
系统设计基础:负载均衡器Load Balancer入门文章插图
> Figure 2: Round Robin Method for load balancing (Image By Author)
· 加权循环法:这是先前描述的循环法的更新版本 。 它比上一个更加复杂 。 此方法旨在处理具有不同特征的服务器 , 这在常规轮询中是个问题 。 权重分配给每个服务器 。 该权重可以是根据服务器的处理能力而变化的整数值 。 更高处理服务器获得更多连接 , 以利用其更强大的资源 。 因此 , 此处的流量重定向取决于服务器的处理能力 。
· 最少连接:负载平衡器在收到客户端请求时将活动连接最少的服务器发送到服务器 。 如果服务器忙于长时间计算 , 并且客户端和服务器之间的连接保持较长时间 , 则此方法很有用 。
· 响应时间最短:此算法将活动连接最少 , 响应时间最短(平均)的客户端请求发送到服务器 。响应最快的后端服务器接收下一个请求 。
· 源IP哈希:通过这种方法 , 将生成客户端IP地址的哈希 , 用于为客户端选择服务器 。 即使连接断开 , 客户端的下一个请求仍将发送到同一服务器 。 因此 , 可以在需要将客户端连接到断开连接后仍处于活动状态的会话的情况下使用此方法 。 它可以最大化我们的缓存命中率并提高性能 。
结论负载均衡器的任务是在多个后端服务器之间分配传入的客户端流量 。 负载平衡减少了用户的等待时间 。 在缩放系统时 , 在水平缩放的情况下 , 它是至关重要的组件 。 我们添加或删除的服务器越多 , 拥有负载平衡器将有助于保持更改 。 当添加新服务器或从服务器池中删除服务器时 , 需要更新负载均衡器;否则 , 可能会浪费资源 , 或者可能无法处理某些请求 。 在设计系统时 , 我们需要根据系统需求选择服务器选择策略 。
(本文由闻数起舞翻译自Yasmine Hejazi的文章《System Design Basics: Getting started with Load Balancer》 , 转载请注明出处 , 原文链接:)