【问题标题】:How I can use Kafka like relational database我如何像关系数据库一样使用 Kafka
【发布时间】:2020-09-28 06:23:21
【问题描述】:

一天中的好时光。我很抱歉我的英语不好。我有一些问题,你能帮我了解如何使用 kafka 和 kafka 流,如数据库。

我的问题是我有一些微服务,每个服务都有自己的数据库中的数据。为了报告的目的,我需要一次性收集数据,为此我选择了 kafka。我用debezuim也许你知道(更改数据捕获debezium),关系数据库中的每个表都是kafka中的一个主题。到目前为止,我用 kafka 流编写了应用程序(我互相加入了流)。示例:我有 ORDER 和 ORDER_DETAILS 的主题,一段时间后会有一些活动加入这个主题,问题是我不知道这个活动什么时候来,可能是几分钟后,几个月后或几年后。我如何在一个月或一年之后获取主题 ORDER 和 ORDER_DETAIL 中的数据?无限保存主题中的数据是正确的方法吗?你能给我一些建议,也许有一些解决方案。

【问题讨论】:

    标签: apache-kafka apache-kafka-streams apache-kafka-connect


    【解决方案1】:

    一旦数据库发生变化,事件就会发生。

    通常,对数据库表的更改会作为消息推送到主题。

    对数据库的每次更新都将是一条 kafka 消息。由于每次更新都有一条消息,因此您可能只对任何给定键的最新值(更新)感兴趣,这主要是 主键

    在这种情况下,您可以无限地维护主题 (retention.ms=-1) 但紧凑 (cleanup.policy=compact) 以节省空间。

    您可能还对配置 segment.ms 和/或 segment.bytes 以进一步调整主题保留感兴趣。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 2017-09-07
      • 2016-02-05
      • 2016-11-10
      • 2021-08-18
      • 1970-01-01
      相关资源
      最近更新 更多