负载均衡会根据配置的调度算法,将来自客户端的请求按照对应的算法规则转发至相应的后端服务器。负载均衡支持轮询、加权轮询、加权最小连接数、一致性哈希等多种调度算法,用于支持不同的业务场景。
本文列出所有负载均衡系列产品支持的调度算法,不同负载均衡产品支持的调度算法不同。
应用型负载均衡ALB:加权轮询、加权最小连接数、一致性哈希(源IP、URL参数)。
网络型负载均衡NLB:轮询、加权轮询、加权最小连接数、一致性哈希(源IP、四元组、QUIC ID)。
传统型负载均衡CLB:轮询、加权轮询、一致性哈希(源IP、四元组、QUIC ID)。
轮询算法
介绍
轮询算法按照访问顺序将外部请求依序分发到后端服务器。轮询算法常用于短连接服务,例如HTTP等服务。
例如负载均衡后端服务器组挂载了2个ECS,则客户端新请求将在后端服务器之间轮流分发。
优点
实现简单:轮询算法是一种最基本的负载均衡算法,实现非常简单,容易理解和维护。
均衡性好:轮询算法可以很好地将请求均匀地分配到各个服务器上,使得各个服务器的负载相对平均。
缺点
服务器性能不能有较大差异:轮询算法无法区分服务器的实际负载情况,如果服务器的性能不同,可能会导致某些服务器过载,而其他服务器处于空闲状态。
连接可能被长时间占用:轮询算法无法考虑连接的持续时间,如果某些连接需要较长时间才能完成,可能会导致其他连接需要等待较长时间。
适用场景
服务器性能相似:如果服务器的性能相似,轮询算法可以很好地实现负载均衡,将请求均匀地分配到各个服务器上。
简单场景:对于简单的应用场景,不需要考虑服务器的实际负载情况或连接的持续时间,轮询算法可以是一个简单且有效的选择。