使用 WebSocket vs XMPP vs MQ 的实时数据显示解决方案
Solution for Real Time Data display using WebSocket vs XMPP vs MQ
我正在尝试开发一个在线拍卖平台。
与特定拍卖相关的客户将在其中看到实时数据,并且他们还可以相互通信。
我正在考虑 Java 作为我的后端平台
它将基于 SOA。
我正在寻找诸如可用于向客户显示实时数据的最佳技术解决方案之类的意见。
到目前为止我已经比较喜欢了-
- 基于 XMPP 的解决方案,例如 (Mongoose/Ejabberd/OpenFire)
- 基于 Websocket 的解决方案,如 Atmosphere
- 像RabbitMQ/ActiveMQ
这样的消息缓冲区
哪种协议是处理 100 万并发用户的实时广播数据 + 聊天的好方法。
此方法基于 MessagingQueue 的解决方案不可行,因为它不能保证实时传递。
WebSocket 和 XMPP 是协议,您必须根据需要集成到您的解决方案中的功能进行比较:
广播消息
一对一消息传递
群发消息
最后,我们决定使用基于多房间的 Atmosphere web socket 进行实时数据广播,并使用 Ejabberd 进行聊天功能。
对于大数据的实时处理Atmosphere based web socket是一个很好的方法,可以使用。与基于 Socket.IO 的 Web 套接字不同,Atmosphere 处理底层服务,通过及时发送心跳消息使事件总线保持活动状态,因此您不必关心它。
对于聊天应用程序,基于 Ejabbered 的 XMPP 定义明确。事实上,可以根据您的优势更改架构,并且 JAVA 的实施很容易。
我正在尝试开发一个在线拍卖平台。
与特定拍卖相关的客户将在其中看到实时数据,并且他们还可以相互通信。
我正在考虑 Java 作为我的后端平台 它将基于 SOA。 我正在寻找诸如可用于向客户显示实时数据的最佳技术解决方案之类的意见。
到目前为止我已经比较喜欢了-
- 基于 XMPP 的解决方案,例如 (Mongoose/Ejabberd/OpenFire)
- 基于 Websocket 的解决方案,如 Atmosphere
- 像RabbitMQ/ActiveMQ 这样的消息缓冲区
哪种协议是处理 100 万并发用户的实时广播数据 + 聊天的好方法。
此方法基于 MessagingQueue 的解决方案不可行,因为它不能保证实时传递。
WebSocket 和 XMPP 是协议,您必须根据需要集成到您的解决方案中的功能进行比较:
广播消息
一对一消息传递
群发消息
最后,我们决定使用基于多房间的 Atmosphere web socket 进行实时数据广播,并使用 Ejabberd 进行聊天功能。
对于大数据的实时处理Atmosphere based web socket是一个很好的方法,可以使用。与基于 Socket.IO 的 Web 套接字不同,Atmosphere 处理底层服务,通过及时发送心跳消息使事件总线保持活动状态,因此您不必关心它。
对于聊天应用程序,基于 Ejabbered 的 XMPP 定义明确。事实上,可以根据您的优势更改架构,并且 JAVA 的实施很容易。