zoukankan      html  css  js  c++  java
  • rocketMQ的消息堆积如何处理

    下游消费系统如果宕机了,导致几百万条消息在消息中间件里积压,此时怎么处理?
    你们线上是否遇到过消息积压的生产故障?如果没遇到过,你考虑一下如何应对?
    首先要找到是什么原因导致的消息堆积,是Producer太多了,Consumer太少了导致的还是说其他情况,总之先定位问题。然后看下消息消费速度是否正常,正常的话,可以通过上线更多consumer临时解决消息堆积问题。
    如果Consumer和Queue不对等,上线了多台也在短时间内无法消费完堆积的消息怎么办?
    • 准备一个临时的topic
    • queue的数量是堆积的几倍
    • queue分布到多Broker中
    • 上线一台Consumer做消息的搬运工,把原来Topic中的消息挪到新的Topic里,不做业务逻辑处理,只是挪过去
    • 上线N台Consumer同时消费临时Topic中的数据
    • 改bug
    • 恢复原来的Consumer,继续消费之前的Topic
    堆积时间过长消息超时了?
    RocketMQ中的消息只会在commitLog被删除的时候才会消失,不会超时。也就是说未被消费的消息不会存在超时删除这情况。
    堆积的消息会不会进死信队列?
    不会,消息在消费失败后会进入重试队列(%RETRY%+ConsumerGroup),

    郭慕荣博客园
  • 相关阅读:
    语音识别六十年
    神经网络架构PYTORCH-几个概念
    Ubuntu 16.04 系统无法挂载u盘的问题
    技术的止境
    神经网络架构PYTORCH-宏观分析
    Python中parameters与argument区别
    神经网络架构PYTORCH-初相识(3W)
    【ES】学习9-聚合2
    【ES】学习8-聚合1
    【python】中文提取,判断,分词
  • 原文地址:https://www.cnblogs.com/jelly12345/p/14846703.html
Copyright © 2011-2022 走看看