假设我有 2 个 Kafka 主题,每个主题都有一个分区。
我想使用 Kafka Streams、Apache Flink 或 Spring Kafka 等技术,通过基于 Kafka 时间戳时间顺序连接这两个主题,将数据写入第三个主题。但是,我担心首次运行此类程序时可能出现的问题。例如,如果主题 A 中有 2000 万条消息(3 周前),而主题 B 中只有 1000 条消息(1 天前)。
有什么建议吗?
使用 Flink,您可以使用 水印对齐 来避免使用更多数据对源进行大量缓冲。
Kafka Streams 将合并两个流,从具有较低时间戳的流中读取数据 - 但会尽力而为。