0

我之前有一个项目需要将数据(websocket)推送到我使用spring和大气框架(java中websocket的抽象)的客户端。但最后我认为实际上 java 中的 websocket 应用程序还不够好,因为我将 nodejs&socket.io 用于另一个项目。编写推送数据 api 非常简单,也是一次很棒的体验。

所以现在我正在考虑一个架构,我想和你分享一下它是否是一个好的实践。

我有我的服务器 spring、客户端和 nodejs/socket.io。我想使用 nodejs 来存储 de socket 和 push 事件。因此,想象一下服务器必须将数据推送给特定用户,我将在 nodejs 中调用一个服务,然后他会推送它。

所以 nodejs API 只会将请求重定向到用户,仅此而已。

这是一个好习惯吗?

谢谢你的想法

4

1 回答 1

1

我建议您将 java 应用程序服务器和 nodejs(套接字服务器)解耦并使用中间件(消息系统..)进行通信

示例架构

假设您的 java 应用程序在http://abc.com:1234和 socket.io 在http://abc.com:5678上运行。然后当页面打开时,您可以订阅套接字服务器。

一旦你有一些数据要推送,就把它放在中间件上。SocketIO 服务器将从那里获取它并推送到所有订阅的浏览器客户端。

于 2013-10-04T11:42:23.240 回答