MQ消费出现陡增和断崖

一、问题背景

今日EDI日请求剧增,日产日志消息也随之倍增,然后就频繁收到MQ积压告警,通过观察消费者积压数量发现存在MQ消息积压陡增的情况。如下图所示:

image-20210522140756470

而,该Topic的另一个消费分组出现了积压断崖情况,如下图所示。

image-20210522140913353

二、问题原因

经和MQ的技术支持沟通,可能原因:

1)若消费者消费消息的耗时超过了两次poll的间隔(参数max.poll.interval.ms),被Broker踢除,导致rebalance。

2)rebalance之后,消费者会重新询问消费位点,若没有获取位点,则根据配置的位点重置策略进行位点重置。

3)消费者的位点重置策略参数为auto.offset.reset:

  • 如果auto.offset.reset=earliest,则重新消费,导致积压都增高;

  • 如果auto.offset.reset=lastest,则就近消费,导致积压断崖。

三、修改方案

把max.poll.interval.ms的值由10000改为30000后,观察发现问题修复。

四、其他

位点获取失败长期看来是不可避免的,配置重置策略时可以评估以下因素:

1)如果可以接受重复消费,不接受消息丢失,选择earliest;

2)如果可以接受部分丢失,不想去重复消费,选择lasteat;

评论