我找不到明确的答案,所以我想我会问专家。Kafka 如何观察和检测给定源中的哪些数据发生了变化?例如,在关系数据库中?
轮询浮现在脑海中,但它是否必须维护每个可用表的所有主键的数据集,然后运行检查是否有新的主键可用?由于内存可能不够耐用,因此将其存储在哪里?
这是一个非常普遍的问题,所以你可以想象答案是"视情况而定"。卡夫卡本身并没有跟踪这一点。它是由你拥有的任何 Kafka 客户端实现完成的。例如,如果实现 Kafka Connect 源连接器,则可以存储偏移量以检查 Kafka 本身中读取的数据。如果你只是在写一个制片人,那就另当别论了。一个非常通用的示例可以在 Confluent JDBC 源连接器中找到。它具有多种加载模式,可以让您了解灵活性 https://docs.confluent.io/current/connect/connect-jdbc/docs/source_connector.html#features