1.metaq如果不指定executor,则默认是单线程执行的。
2.如果一个consumer订阅了多个topic,也是单线程执行。
3.如果消费抛出异常,会重新加入到blockqueue(根据delayTimeStamp排序的优先队列),并更新延迟时间
4.当重试次数(在postReceiveMessage赋值,判断依据是iterator的offset是否为0)超过配置的最大值(默认为5次),则记录日志,丢弃消息
本文详细介绍了MetaQ消息队列中消费者的工作原理:默认采用单线程执行任务;订阅多个主题时同样以单线程处理;消费失败的消息会被重新放入阻塞队列,并根据重试次数调整延迟时间;当重试次数超过限制时将被丢弃。
337

被折叠的 条评论
为什么被折叠?