我的负载平衡弹性beanstalk应用程序中有两个环境。一个是实际的生产环境,另一个是当我们需要阻止对生产应用程序的所有访问时,或者当应用程序出现故障时要显示的保留页面。
我们正在使用Elastic Beanstalk的CNAME Swap功能,该功能被宣传为“零停机时间”功能。但是,当我们测试这个开关时,我们发现开关操作和实际看到新环境的用户之间存在延迟 - 切换两种方式都需要2分钟。
使用隐身浏览器窗口进行测试似乎表明这是一个每会话的事情。看到一个环境的用户在切换后的后续请求中往往会坚持使用该环境,但是在切换后立即首次访问应用程序的用户会看到新环境。我们还没有启用任何粘性会话功能,据我所知,无论如何只会影响到单个环境中的实例的流量路由,而不是环境之间。
有没有人知道造成这种延迟的原因,并希望如何解决这个问题,以便所有用户都能立即切换?
答案 0 :(得分:3)
最可能的原因是您的设备和/或互联网提供商的DNS缓存。交换URL功能对于在没有停机时更新版本非常有用(请参阅Blue Green Deployments),但它肯定受到"特征"的限制。全局分布的DNS缓存..