我有一个运行expressjs的服务器,托管管理网站和4到10个额外的工作人员服务器,运行作业调度程序,不断处理作业和接收新数据。工作服务器有没有好的方法通知网站服务器,然后使用websockets更新网站上的数据?
发布于 2020-09-20 11:43:53
工作服务器可以使用任意数量的方式与您的主服务器通信。例如,您的主服务器可以在您的主服务器中有一个特殊的web服务器(不对外公开),它只接收包含来自工作人员的数据的http请求。因此,每当worker获得新数据时,它只会向主服务器发送一个http请求。
或者,webSocket或socket.io都可以很好地用于服务器到服务器(一端用作建立连接的客户端),而另一端是侦听传入连接的webSocket/socket.io服务器。在您的示例中,工作器将是客户端,它们将连接到您的主服务器,然后它们可以随时通过webSocket或socket.io连接发送数据。
如果您想要在打开某个页面的各种web浏览器中自动更新数据,则这些页面还会打开到您的服务器的webSocket或socket.io连接,这样当您的服务器获得新数据时,它就可以告诉web页面有关它的信息,并且web页面可以更新其显示,而无需不断刷新/重新加载新页面。
可以使用ws或socket.io。Socket.io提供了许多构建在webSocket之上的特性。如果你想要这些新增的功能,你会选择socket.io。您可以在此处查看添加的socket.io功能的部分列表:
https://stackoverflow.com/questions/63974576
复制相似问题