2

我想使用来自 Kafka 主题的事件,将其注入数据库,执行一些查询,从数据库中删除事件并将查询结果生成回主题。

这看起来像在 Kafka 流处理期间在外部系统查询中询问的内容

例如,我可以对空间数据库执行地理定位查询,我将首先从接收到的消息中插入坐标,执行查找以计算某个邻域,从数据库中删除坐标并向下游转发包含邻域的结果消息。

我可以使用转换器来执行查询并将丰富的消息转发到下游,如上一个链接中的第一个解决方案中所建议的那样。但是,在执行此操作时,我对 KafkaStream 存在一些性能问题,因为它会导致对 Db 进行每个事件的查询。

  • 我可以使用像窗口流这样的流模式来批量处理多个坐标,并且每批只执行一个查询吗?
  • 如果发生数据库故障,KafkaStreams 将如何反应?
  • KafkaStream 线程会被卡住吗?
  • 流应用程序会失败吗?
  • 一旦数据库恢复,KafkaStream 线程会很好地恢复吗?
  • 这种设计的极端案例是什么?
  • 开发一个外部服务来
    使用 KafkaConnect 或 alpakka 执行数据库查询并从一个主题读取请求并将响应写入另一个主题会更好吗?
4

0 回答 0