【发布时间】:2021-03-31 04:12:50
【问题描述】:
我正在使用 AWS SQS,因此我的两个应用程序(我们称它们为应用程序 1 和应用程序 2)可以相互交互。到目前为止,应用程序 1 正在向队列发送消息,而应用程序 2 正在侦听和处理从应用程序 1 发送的消息。流程是客户端(reactJS 应用程序)向应用程序 1 发送 http 请求,应用程序 1 将消息转发到应用程序 2使用 AWS SQS,然后应用程序 2 通过 websockets 向所有其他用户/客户端广播某些消息(这里重要的是所有 websocket 连接都在应用程序 2 中)
但是,在过去,我需要实现应用程序 2 的水平缩放(我正在运行应用程序 2 的 2 个实例),现在 websocket 连接是分开的,一些 websocket 连接在应用程序 2 的实例 1 上,一些 websocket 连接是在应用 2 的实例 2 上。所以最近我面临的挑战是应用 1 将消息发送到队列,然后只有应用 2 的一个实例读取消息。
所以我的问题是应用程序 2 的两个实例是否都有可能读取 SQS 消息,或者有其他方法来处理这种情况?提前致谢!
【问题讨论】:
标签: node.js amazon-web-services websocket amazon-sqs horizontal-scaling