在 AWS 上使用 WebSocket 实现的 Web 服务上的蓝绿部署

Posted

技术标签:

【中文标题】在 AWS 上使用 WebSocket 实现的 Web 服务上的蓝绿部署【英文标题】:Blue-green deployment on Web Service with WebSocket Implementation on AWS 【发布时间】:2016-08-08 00:30:04 【问题描述】:

我目前正在为几个 Web 服务实现 Web 套接字。但想知道这种有状态的 http 连接将如何影响 AWS 上的蓝绿部署和自动扩展。

正在谷歌搜索,但没有发现任何东西。非常感谢任何建议/意见。

【问题讨论】:

【参考方案1】:

使用连接耗尽(将所有新请求发送到您想要的环境 - 例如绿色)并为蓝色客户端留出时间。

您可以设置 websocket 的最大生命周期(如果需要这种可靠性,连接耗尽期应该比最大生命周期长)

否则只会处理客户端。如果 websocket 断开,则通过您的 AWS ELB 启动新连接到健康的服务器。不要在临时 ELB 后端保留任何状态。在 AWS 上缩减规模时,这也适用。

【讨论】:

“如果需要这种可靠性,连接耗尽期可能会比最大时间长”...我假设总是需要这种可靠性。

以上是关于在 AWS 上使用 WebSocket 实现的 Web 服务上的蓝绿部署的主要内容,如果未能解决你的问题,请参考以下文章

如何让 WebSocket 服务器在 aws 上运行

如何在 AWS Elastic Beanstalk 服务器上使用 nginx 启用 WebSocket?

迁移到纯 websocket 后,我​​在 AWS Appsync 上收到 GraphQL 订阅错误

无法使用 Forge、nginx 和 AWS 连接到 Laravel Websocket

AWS Elastic Beanstalk 上带有 Tomcat 7 的 Websocket

(ASK) 我们如何使用 AWS api 网关调试本地 websocket