蓝色绿色部署涉及将活动的prod数据流(蓝色)泵入热交换非prod环境( green ),以准备部署到绿色环境中,这样绿色环境具有与前一个prod蓝色环境完全同步的数据。
我想知道人们使用什么来实时复制正在进行的websocket通信,从蓝色到绿色,是我自己写的,还是有发布/订阅websocket库,或者可能是一种不同的蓝绿色方法?
我的应用程序有nodejs服务器,它也管理来自移动设备的websocket流量.一个mongodb服务器等..。GCE/AWS上的每个容器
我意识到我可以保持mongodb从蓝色到绿色的同步,但是这不会使用具有实时通信量的绿色nodejs服务器,这是我正在寻找的一个很好的回归理智检查。
可能,如果我只是向前移动HTTP流量,运行在HTTP之上的底层websocket只会照顾自己,而不需要特定的蓝绿色设置
发布于 2017-02-28 22:30:17
使用最小工程的服务器代码(示例中是Google应用程序),可以复制并转发生产服务器接收的传入AppEngine流量到测试服务器(反之亦然),以便比较它们的响应。见https://stackoverflow.com/questions/38799566/can-i-asynchronously-duplicate-a-webapp2-requesthandler-request-to-a-different-u。
发布于 2017-02-28 23:41:28
Websockets本身并没有任何处理方法。您可以构建自己的系统,但通常HA的想法是,如果发生任何事情,您将设置客户端自动重新连接。在蓝绿色交换期间会有一些非零的停机时间,但是如果你的应用程序构建得很好,它应该已经处理好了。
如果您想要更流畅的内容,您可以在协议中构建一条消息,以连接到新服务器,然后删除原始连接。
https://devops.stackexchange.com/questions/108
复制相似问题