【问题标题】:Stream data to web socket upon client request根据客户端请求将数据流式传输到 websocket
【发布时间】:2020-06-21 03:13:55
【问题描述】:

我正在使用 Spring Boot 中的 Stomp 开发 WebSocket 应用程序。目前正在开发示例应用程序以了解消息流。

这是我的用例:

  • 客户端显示不同数据的图表。例如。总订单、总收入等。
  • 一旦用户登录到客户端,用户可以请求不同的 数据类型。
  • 从客户端收到特定类型的请求后 数据,服务器应该从数据库中提取请求的数据, 每隔 x 分钟生成一个模型并推送到 WebSocket。
  • 同样,如果用户使用不同的数据类型发送下一个请求, 相应的数据应每 x 分钟推送一次

**现在这里有一些我想澄清的问题,以便进一步探索**

  • 对于上述用例,我可以使用哪些不同的选项?
  • Kafka 支持单脚吗?目前我对 Kafka 并不熟悉,但我打算探索和学习它。
  • 我仍然不清楚我是否可以使用 Kafka 作为 stomp 代理?!?
  • 我能否在使用 kafka 传递特定参数时从 db 中连续推送数据集?
  • 不使用 Kafka 是否可以实现这一点?

请问有人能解释一下吗?

【问题讨论】:

    标签: java spring spring-boot websocket apache-kafka


    【解决方案1】:

    Kafka 不支持 STOMP。不,这个问题似乎不需要 Kafka

    如果你想使用 Kafka 从数据库中拉取数据,你可以找到像 Debezium 这样的解决方案

    【讨论】:

    • 数据必须根据websocket请求中的“数据类型”从数据库中提取并发送回websocket,如问题中所述。如果我需要从数据库中提取,则必须将 Debezium 与 Kafka 一起使用。正确的?您能否告诉我是否可以通过使用基本的 websocket + kafka + debezium 来实现我的用例。需要从数据库中提取的数据只有 1 天的数据。因此,考虑到我对这些技术不熟悉这一事实,我还想知道除了 kafka debezium 之外是否还有其他可用选项。
    • 我希望尽可能在应用程序中保留最少数量的组件,因为我必须尽快提出解决方案。自从我上周花时间理解 stomp 消息流以来,现在很伤心:(
    • 您应该可以使用任何数据库客户端。正如我所提到的,Kafka 不是必需的。而且我也不确定支持 STOMP 的服务器是否也可以。 Websockets 直接在客户端和服务器之间进行
    • 在使用 STOMP 研究 WS 时,我假设 Kafka 将是负责从 DB 获取数据并将数据(根据请求连续)路由到写入 websocket 的服务方法的组件。并认为我会找出如何实现它。但是现在 Kafka 不支持 stomp,我又回到了原点。基本上,我正在寻找有助于实现我的用例的正确组件。我已经准备好探索是否有人可以告诉我“这些”是我应该继续使用的组合。希望我已经明确用例供任何人回答。
    • 只需编写代码...for (ResultSet rs : db.findAll()) { ws.send(parse(rs)); } 。不清楚为什么您认为需要 Kafka
    猜你喜欢
    • 2018-07-01
    • 2018-07-15
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2015-11-29
    相关资源
    最近更新 更多