我想做一个蓝色绿色部署从阶段到生产的天青。
我们的web应用程序维护到后端服务器的长时间运行的事件源/SSE连接。在从暂存到生产的交换过程中,不能中断这些长期运行的连接。
换句话说,如果生产服务器最初是蓝色服务器,则在绿色服务器升级到生产期间和之后,到蓝色服务器的任何连接都必须在蓝色服务器上继续。新连接将被路由到绿色服务器。
我自己的测试表明Azure Cloud服务(经典的) VIP交换并不是这样的,至少在https连接中是这样的。在交换期间,现有的连接被终止。在进一步阅读如何管理云服务之后,似乎无法保证现有的连接将得到维护。
如上一节所述,部署交换通常非常快,因为它只是Azure负载均衡器中的配置更改。然而,在某些情况下,它可能需要10秒钟或更长时间才能导致瞬时连接故障。若要限制对客户的影响,请考虑实现客户端重试逻辑。
我问题的第一部分是,我上面描述的是VIP交换的预期行为,还是应该保持现有的联系。
问题的第二部分是建议我在Azure上实现目标的方法是什么。我一直无法从Azure那里找到官方文档来详细说明这个场景和现有连接的细节。
请注意,我想避免基于DNS的解决方案。我正在寻找更深入的网络堆栈。类似于在AWS上使用弹性负载均衡器进行蓝色绿色部署,如详细的这里
https://serverfault.com/questions/836710
复制相似问题