2

我正在尝试开发一个在线拍卖平台。

与特定拍卖相关的客户将在其中看到实时数据,并且他们也将能够相互通信。

我正在考虑将 Java 作为我的后端平台,它将基于 SOA。我正在寻找诸如可用于向客户显示实时数据的最佳技术解决方案之类的意见。

到目前为止,我已经比较了 Like -

  • 基于 XMPP 的解决方案,例如 (Mongoose/Ejabberd/OpenFire)
  • 基于 Websocket 的解决方案,例如 Atmosphere
  • 消息缓冲区,如 RabbitMQ/ActiveMQ

哪种协议将是处理 1M 并发用户的实时广播数据 + 聊天的好方法。

4

4 回答 4

0

我会选择像Vert.x这样的事件总线系统。请参阅此博客为什么它可能适合您的需求。

于 2018-10-24T11:19:07.093 回答
0

这种方法基于 MessagingQueue 的解决方案是不可行的,因为它不能保证实时传递。

WebSocket 和 XMPP 是协议,您必须根据需要集成到解决方案中的功能进行比较:

广播消息

一对一消息

群发消息

于 2018-10-24T11:50:34.973 回答
0

对于大数据的实时处理 Atmosphere based web socket 是一个可以使用的好方法。与基于 Socket.IO 的 Web 套接字不同,Atmosphere 通过及时发送心跳消息来处理使事件总线保持活动状态的底层服务,因此您不必关心这些。

对于聊天应用程序,基于 Ejabbered 的 XMPP 定义良好。事实上,模式可以更改为您的优势,并且它的 JAVA 实现很容易。

于 2019-09-13T05:50:20.357 回答
-1

最后,我们决定使用基于多房间的 Atmosphere Web 套接字进行实时数据广播,使用 Ejabberd 进行聊天功能。

于 2019-09-13T05:18:24.073 回答