Kafka 如何知道源数据何时发生变化?

How does Kafka know when source data has changed?

我找不到明确的答案,所以我想我会问专家。 Kafka 如何观察和检测给定源中的哪些数据发生了变化?例如,在关系数据库中?

想到了轮询,但它不是必须维护每个可用的所有主键的数据集 table,然后 运行 检查是否有新的主键可用吗?这存储在哪里,因为内存可能不够耐用?

这是一个非常笼统的问题,所以您可以想象答案是 "it depends"。 Kafka 本身并没有跟踪这个。它由您拥有的任何 Kafka 客户端实现完成。例如,如果您实施 Kafka Connect 源连接器,那么您可以存储偏移量以检查在 Kafka 本身中读取了哪些数据。如果你只是在写一个制作人,那就是另一回事了。在 Confluent JDBC 源连接器中可以找到一个非常通用的示例。它有多种加载模式,可以让您了解灵活性 https://docs.confluent.io/current/connect/connect-jdbc/docs/source_connector.html#features