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