如何实时更新数据

How to update data in real-time

我有一个带有 Spring 启动的小型股票市场应用程序,如果有任何产品更新,我想实时向客户提供更新的产品

为此使用 RabbitMQ 和 Sse(服务器发送事件)等消息队列是否有意义,或者是否有更明智的解决方案?

为此,您可以使用

  • Spring 整合
  • 网络套接字
  • JMS

Spring 集成是企业集成模式的一种实现,非常适合实时异步处理数据。

但是,从您的范围来看,它仅与发布者-订阅者模式有关。因此可以用JMS来解决。 使用 JMS,subscribers/consumers 可以动态地 register/de-register。它还提供了回退和跟踪的方法。

解决方案

  • 将更新后的数据发布到某个频道
  • 您的客户应订阅该频道以实时获取更新的提要。

工具

  • 对 RabbitMQ、ActiveMQ、Kafka 或其他开源工具使用内部设置并实施 WebSocket(对于前端应用程序)
  • 使用像 Google Cloud PubSub
  • 这样的商业服务
  • 现成的完全打包的解决方案,支持后端和前端的 SDK,https://www.pubnub.com/