当使用带有CNAME交换的Elastic Beanstalk进行零停机部署时,DNS缓存(不尊重TTL的客户端)会导致某些客户端继续向旧环境发送流量(最多几天)。
当使用带有Route53别名的Elastic Beanstalk进行零停机部署时,DNS缓存仍然存在问题吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
我还没有对此进行过测试,但我认为这就是为什么他们实施了#34;交换环境网址"行动,而不是在路线53中。
答案 2 :(得分:0)
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html 它说
您将新版本部署到单独的环境中,然后交换两个环境的CNAME以立即将流量重定向到新版本。
和
但是,在传播DNS更改并且旧DNS记录过期之前,请勿终止旧环境。 DNS服务器不一定根据您在DNS记录上设置的生存时间(TTL)从其缓存中清除旧记录。
不是冲突吗? 我认为DNS缓存仍然是一个问题。
如果存在旧版本客户端,如何将数据库迁移到新版本。 我想只有当它适用于两个版本时我才能迁移数据库。
我在这里找到了一篇好文章。 http://fbrnc.net/blog/2016/05/green-blue-deployments-with-aws-lambda-and-cloudformation 但它使用Cloud Formation,而不是Elastic Beanstalk。