【发布时间】:2021-03-25 12:42:35
【问题描述】:
我需要使用 Kafka Connect 来监控对具有一个主副本和 2 个副本的 MongoDB 集群的更改。
我看到有官方的MongoDB connector,我想了解连接器的行为,以防主副本失败。它会自动从将成为新主副本的辅助副本之一读取吗?我在官方文档中找不到这方面的信息。
我看到this post 与 tasks.max 配置相关,我认为这可能与这种情况有关,但答案暗示它始终默认为 1。
我还查看了连接器的Debezium's implementation,它似乎自动支持这种情况:
MongoDB 连接器对成员资格的更改也非常宽容 和领导副本集,添加或删除分片 在分片集群内,以及可能导致的网络问题 通讯故障。连接器始终使用副本集的 主节点流式传输更改,因此当副本集经历 选举和不同的节点成为主节点,连接器将 立即停止流式传输更改,连接到新的主节点,然后 使用新的主节点开始流式传输更改。
此外,Debezium 版本的 tasks.max 配置属性指出:
应为此连接器创建的最大任务数。 MongoDB 连接器将尝试为每个 副本集,[...] 以便每个副本集的工作都可以 由 Kafka Connect 分发。
问题是 - 我可以使用默认连接器获得相同的默认行为 - 正如为 Debezium 所宣传的那样?由于外部原因,我暂时无法使用 Debezium。
【问题讨论】:
标签: mongodb apache-kafka apache-kafka-connect