Node.js 服务器使用负载均衡器发送事件

Node.js Server Sent Events with Load Balancer

我正在开发一个基于 node.js 的 Web 应用程序,它需要能够将数据推送到浏览器。 Web 应用程序将位于负载平衡器后面。

假设 Web 应用程序有一个 POST REST API 作为:

/update_client

并假设有第三方应用程序调用此 API 将一些数据推送到 Web 应用程序,然后 Web 应用程序将数据向下推送到浏览器。

现在假设我在负载均衡器后面有两台服务器,带有 Web 应用程序 运行。浏览器客户端连接到服务器 1 以侦听事件。然后其他应用程序在服务器 2 上点击 /update_client API。现在由于这两个活动发生在两个不同的服务器上,服务器 2 如何通知服务器 1 将数据发送到连接的客户端?

如果我使用自动缩放,负载均衡器后面有动态数量的服务器怎么办?

您需要在服务器后方有某种共享资源,以便它们都知道更新。我在我最近写的博客 post 中展示了如何为此使用 Redis Pub / Sub。

Server Sent Events with Node JS