gpt4 book ai didi

apache-kafka - Debezium 如何保证单个主题 'totally-ordered' 内的所有事件?

转载 作者:行者123 更新时间:2023-12-05 06:12:57 28 4
gpt4 key购买 nike

正如我从 Debezium 的常见问题解答中读到的那样:

Most connectors will record all events for a single database table to a single topic. Additionally, all events within a topic are totally-ordered, meaning that the order of all of those events will be maintained.

How are events for a database organized?

但是,AFAIK Apache Kafka 仅在单个分区 中具有排序保证。因此,如果我希望某个主题中的事件是有序的,我必须将该主题设置为只有一个分区,这会牺牲 Kafka 的吞吐量,否则使用其他机制。但是我在 Debezium 的文档中没有看到任何关于此的解释。

我的问题是,Debezium 如何在一个主题 中实现顺序保证?或者我应该研究源代码的哪个模块来了解该功能的详细实现?

最佳答案

引用answer here :

... Kafka Connect’s producer will use the default partitioning logic that computes the partition using a consistent hash of the message key, which in Debezium’s case is a struct containing the affected row’s primary/unique key...

所以如果担心同一行/文档不应该被乱序读取,那么这个问题就被排除了,因为 PK 总是将事件发送到同一个分区

关于apache-kafka - Debezium 如何保证单个主题 'totally-ordered' 内的所有事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63464933/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com