【发布时间】:2021-11-17 02:52:42
【问题描述】:
我有一个 NodeJs 应用程序作为事件侦听器运行的情况。这个 NodeJs 应用程序通过 websocket 侦听我的应用程序之外的外部事件。
我需要我的 Nodejs 应用程序只处理一次传入的每个事件。
但是,确保这个特定的 NodeJs 应用程序实例可以在需要时自动向上/向下扩展并且高度可用,这样它就不会成为瓶颈,这一点也很重要。
通常,当谈到扩展和 HA 时,我首先想到的是使用负载均衡器运行它的一些实例,或者在 ECS 之类的东西上运行多个容器。这样做会引入 Nodejs 应用程序的多个实例,并且还意味着来自 websocket 的每个相同事件将被接收它的所有实例/容器多次处理。
解决此类问题的好的解决方案和设计是什么?
【问题讨论】:
标签: amazon-web-services architecture scaling high-availability system-design