【发布时间】:2020-01-18 07:01:55
【问题描述】:
我和我的团队正在开发一个数字标牌平台。
我们在全球有大约 2000 个 Raspberry Pi 使用 Socket IO 连接到 Nodejs 服务器。覆盆子正在启动连接。
我们希望能够在多台服务器上水平扩展我们的应用程序,但我们有一个无法解决的问题。
基本上,应用程序将连接的 Raspberry 的套接字存储在一个数组中。 我们有一个外部程序调用服务器内的 API,这是通过服务器搜索哪些套接字将被 API 调用“影响”并将信息发送给它们的结果。
经过大量搜索,我们假设我们必须将套接字(或它们的 ID)存储在其他地方(Redis ?),以使应用程序无状态。然后,任何服务器都可以响应 API 调用并在中心位置查看套接字。
很遗憾,我们找不到任何详细的示例来说明如何做到这一点。
你能帮帮我们吗?
谢谢
【问题讨论】:
-
您的 node.js 服务器是否启动套接字 IO 连接,或者您的 RPis 上的软件是否启动? 从应用程序调用 API 路由 是什么意思?某些外部程序是否在您的 node.js 服务器中调用 API?请edit您的问题提供更多详细信息。
-
是的,RPI 正在启动连接。是的,外部程序在我们的 nodejs 服务器中调用 API 已编辑后
标签: node.js redis socket.io high-availability