我有一个ELB和3个节点。
有人可以解释一下ELB在这些情况下会做什么:
特别是我想知道ELB是否会将请求重试到另一个节点?
我做了一个测试而且似乎没有,但也许有一个我错过的设置。
谢谢,
答案 0 :(得分:4)
AWS Elastic Load Balancing服务使用运行状况检查来识别健康/不健康的Amazon EC2实例。如果实例标记为“运行状况不佳”,则不会向该服务器发送新流量。一旦被识别为Heathy,流量将再次被发送到实例。
如果请求被发送到实例并且没有收到响应(因为应用程序失败或触发了超时),请求将不会重新发送,也不会发送到其他服务器。由发起者(例如用户或应用程序)重新发送请求。
答案 1 :(得分:4)
这可能是时间流逝的问题,但是现在ELB 做重试中止的请求:
但是,仅当您尚未发送任何响应字节时,此操作才会成立。如果您发送了不完整的标题,则会收到 408请求超时。如果您已发送完整标题(但未发送正文或半身通过正文),则客户端将按原样获得未完成的响应。
我执行的实验都是每个连接都有一个HTTP请求。如果使用Keep-Alive连接,则行为可能不同。