我在官方ELB文档中找到了这个
默认情况下,负载均衡器将每个请求独立地路由到负载最小的应用程序实例。
但是有关Newvem的文章说ELB仅支持Round Robin算法
Amazon ELB支持的算法 -当前,Amazon ELB仅支持Round Robin(RR)和会话粘性算法。
那么是哪一个呢?
[1] http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html
我在官方ELB文档中找到了这个
默认情况下,负载均衡器将每个请求独立地路由到负载最小的应用程序实例。
但是有关Newvem的文章说ELB仅支持Round Robin算法
Amazon ELB支持的算法 -当前,Amazon ELB仅支持Round Robin(RR)和会话粘性算法。
那么是哪一个呢?
[1] http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html
Answers:
它是基于HTTP(S)的请求计数,其他则是循环轮询。
在客户端向负载均衡器发送请求之前,它首先使用域名系统(DNS)服务器解析负载均衡器的域名。DNS服务器使用DNS轮询来确定特定可用区中的哪个负载平衡器节点将接收请求。
然后,选定的负载均衡器节点将请求发送到同一可用区内的正常实例。为了确定运行状况良好的实例,负载均衡器节点使用轮询(对于TCP连接)或最少未解决的请求(对于HTTP / HTTPS连接)路由算法。最不突出的请求路由算法更喜欢连接或未完成的请求最少的后端实例。
这取决于所使用的ELB的类型。随着时间的流逝,AWS已经引入了应用ELB和网络ELB以及经典ELB。
Application Load Balancers应用侦听器规则,并将(HTTP / HTTPS)请求分配给目标组。它使用以下命令从该目标组中选择一个目标round robin routing algorithm
Network Load Balancers 接收连接的节点,使用以下命令从其目标组中选择一个目标 flow hash routing algorithm
Classic Load Balancers使用round robin routing algorithm的TCP监听器和least outstanding requests routing algorithmHTTP和HTTPS监听器
。
TLDR;
现代的ELB
round robin routing algorithm用于HTTP / HTTPS请求和flow hash routing algorithmTCP请求。经典ELB用于
round robin routing algorithmTCP请求以及least outstanding requests routing algorithmHTTP和HTTPS请求
资料来源/进一步阅读:https : //docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-algorithm