我目前正在将应用程序切换到亚马逊,但我注意到有时我收到的响应是504.我们的系统设置方式是我们在ELB前面有一个LB然后直接进入tomcat.
我们目前正在为我们的服务和servlet过滤器中的所有请求计时,记录响应时间,它们总是小于1秒.然后我们查看LB日志并看到504,看起来不知何故ELB正在超时并返回504.
有谁知道为什么会发生这种情况?
谢谢
编辑:不确定它是否重要,但目前我们只有1个实例,它可以扩展到3个实例.
最佳答案 众所周知,亚马逊的ELB不会处理非常突然的突发请求,因为它们只是一个自动扩展的实例组,运行一些代理解决方案(我猜是HAProxy).因此,它会随着负载的增加而扩展,就像用户定义的自动扩展组一样,然后,当您获得突发时,您可能会在启动其他实例时错过一些请求.
如果您希望为特定事件提供此类工作负载,则可以请求ELB预热支持,但不能将其作为永久配置.他们会问你一个确切的安排,并在它结束后恢复正常行为.
因此,对于某些应用程序和用例,亚马逊的ELB不是最佳解决方案.我不知道这是不是你的情况,但无论如何都要考虑.