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),

    郭慕荣博客园
  • 相关阅读:
    解决ajax无法给js全局变量赋值的问题
    jquery对象和dom对象
    js浏览器调试
    elastic search使用
    elastic search远程测试
    elastic search安装与本地测试
    jQuery常用技巧
    Jquery操作cookie
    HTML特殊字符编码对照表
    DpQuery.js
  • 原文地址:https://www.cnblogs.com/jelly12345/p/14846703.html
Copyright © 2011-2022 走看看