0

我们的系统需要维护 Kafka 主题分区内记录的正确顺序和顺序保证。正如我们在测试运行中观察到的,Kafka Mirror 不提供分区中的排序保证。记录倾向于在源集群主题和目标集群主题之间打乱。

我们计划使用 Confluent Replicator 进行跨集群数据复制。在 Confluent 社区版 5.3.1 的测试运行中,观察到源和目标主题保持完全相同的分区及其各自的记录数。(复制器在单线程配置上运行)

但是,Replicator 是否保证分区内记录的准确顺序?如果我增加复制线程的数量以实现并行性和更好的吞吐量,它是否仍能保证排序(也在一个线程失败的情况下)?

4

1 回答 1

0

MirrorMaker (1.0) 将使用 DefaultPartitioner 重新分区数据,因此您设法获得“乱序数据”的唯一方法是让生产者覆盖他们的分区器。此外,MirrorMaker 不保证目标主题与源主题具有相同数量的分区或配置

Replicator 和 MirrorMaker 2.0(适用于 Kafka 2.4.0)保留输入分区计数和主题配置。与任何其他消费者群体一样,订单得到保证。但是,由于网络传输错误的边缘情况,在交付过程中可能会多次生成记录。

增加连接器任务将向组添加更多消费者,再次,与任何其他应用程序相同,输入和输出分区应该匹配

于 2019-12-30T06:17:31.013 回答