tencent cloud

文档反馈

数据消费异常

最后更新时间:2023-09-05 14:27:53

    问题现象

    数据订阅场景中,用户使用自己的消费程序进行数据消费,可能遇到如下异常:
    1. 无法消费数据。
    2. 消费到的数据丢失或者重复。
    3. 消费端延迟越来越大。

    排查思路

    1. 无法消费数据

    如果用户使用自己的消费端程序无法消费到数据,请先使用 DTS 提供的 Demo 进行消费测试。
    如果使用 DTS 提供的 Demo 可以消费数据,则需要用户排查自己的消费程序。
    如果使用 DTS 提供的 Demo 也无法消费数据,则需要进行如下排查:
    检查消费端网络环境是否满足要求,消费端需要在腾讯云内网且与 DTS 订阅任务同地域。
    检查启动 Demo 的参数填写是否有误,尤其是消费组密码。
    检查 Demo 版本是否使用正确,不同的源库类型,不同的数据格式需要使用不同的 Demo 版本。
    检查订阅任务是否有数据写入 Kafka(在控制台消费组管理中查看未消费的消息数是否大于零)。

    2. 消费到的数据丢失或者重复

    部分订阅任务发生重启的一些场景中,生产端可能会出现 数据重复,导致消费到的数据也出现重复。但这种属于少数情况,除此之外出现的其他数据重复,或者数据丢失,不符合预期。
    用户消费到的数据不符合预期,出现数据重复、丢失等问题,一般的原因是用户的消费程序处理异常,请用户先进行问题重现。具体复现问题的操作,参考如下二选一即可:
    在控制台上调整 Kafka 位点,将位点回调到之前的位置再次消费。
    新建消费组,在新的消费组上重复消费。(不同消费组上消费互不影响)
    如果可以复现问题,则 提交工单 处理;如果不能复现,则可能是用户消费程序的问题,请先检查消费程序。

    3. 消费端数据延迟越来越大

    1. 消费端程序 commit 的逻辑问题。
    如果消费程序只消费不做 commit,Kafka 的位点就不会更新。DTS Demo 中默认的 commit 逻辑为:当消费到 checkpoint 类型的消息时做一次 commit,订阅服务大概每10秒写入一个 checkpoint 类型的消息。如果用户修改了 commit 规则就有可能出现该问题,请用户先排查消费程序中的 commit 规则。    
    2. 消费效率太低。
    消费效率受多个因素影响,网络情况、消费程序的处理效率、并发消费、多分区消费等。用户可以新建一个消费组用 DTS 提供的 Demo 消费,对比用户自己的消费程序的速度,排除消费程序的效率卡点。其他的就需要用户检查网络情况,提高数据处理速度或者增加消费者数量,多个分区的 topic 尽量使用多进程并发消费。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持