在我们的系统中,需要维护一个适当的序列,并保证在Kafka主题分区中记录的有序性。正如在我们的测试运行中所观察到的,Kafka Mirror没有在分区中提供排序保证。记录倾向于在源群集主题和目标集群主题之间进行混叠。
我们计划使用Confluent Replicator进行跨集群数据复制。在Confluent社区版本5.3.1的测试运行中,观察到源主题和目标主题保持了完全相同的分区及其各自的记录计数。(Replicator运行于单线程信任)
但是,Replicator是否保证对分区中的记录进行精确排序?如果我为了并行性和更好的吞吐量而增加复制线程的数量,它是否仍然保证排序(在一个线程失败的情况下也是如此)?
发布于 2019-12-30 06:17:31
MirrorMaker (1.0)将使用DefaultPartitioner重新划分数据,因此,获得“无序数据”的唯一方法是让生产者覆盖他们的分区器。此外,MirrorMaker不保证目标主题具有与源相同数量的分区或配置。
Replicator和MirrorMaker 2.0 (可与Kafka 2.4.0一起使用)保留输入分区数和主题信任。订单与任何其他消费群体一样得到保证。但是,由于网络传输错误中的边缘情况,可能会在传递期间产生不止一次记录。
增加连接器任务将向组中添加更多的使用者,与任何其他应用程序一样,输入和输出分区应该匹配。
https://stackoverflow.com/questions/59526154
复制相似问题