【问题标题】:Dealing with data loss in kafka connect处理kafka connect中的数据丢失
【发布时间】:2021-04-27 00:40:11
【问题描述】:

我了解到Kafka connect可以以集群模式部署。工作人员在数据源和 kafka 主题之间移动数据。我想知道的是,如果将数据源之间的数据移动到 kafka 主题时工作人员失败,是否会出现数据丢失?如果有数据丢失,我们如何从连接器中取回数据,或者 kafka connect 会自动处理它?

【问题讨论】:

    标签: apache-kafka apache-kafka-connect


    【解决方案1】:

    这取决于来源以及它是否支持偏移跟踪。

    例如,文件中的行、具有主 ID/时间戳的数据库中的行或某些幂等 API 调用可以重复调用并获得相同的起始位置。 (尽管在每种情况下,基础数据也需要是不可变的才能使其始终如一地工作)

    Kafka Connect SourceTask API has a call to commit 跟踪“偏移量”(不同于 Kafka 主题偏移量)

    【讨论】:

    • 所以基本上即使代理失败也不会有任何数据丢失对吧?
    • 这取决于主题是否有完整的 ISR
    • ISR 适用于 kafka 主题分区,对吗? kafka connect 是否存在?
    • ISR 用于分区,是的。 Kafka Connect 维护自己的内部主题,但在这种情况下,其行为与任何其他生产者一样。如果生产者无法确认发送的数据,它至少会被复制而不是丢失,因为源偏移量不会“向前移动”
    猜你喜欢
    • 2020-04-05
    • 1970-01-01
    • 2015-05-31
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    相关资源
    最近更新 更多