大量消息在mq里积压了几个小时了还没解决  

  几千万条数据在MQ里积压了七八个小时,最简单的方法可以让他恢复消费速度,然后等待几个小时消费完毕。

  一个消费者一秒是1000条,一秒3个消费者是3000条,一分钟是18万条,1000多万条 ,所以如果你积压了几百万到上千万的数据,即使消费者恢复了,也需要大概1小时的时间才能恢复过来

  一般这个时候,只能操作临时紧急扩容了,具体操作步骤和思路如下:

    先修复consumer的问题,确保其恢复消费速度,然后将现有cnosumer都停掉

    新建一个topic,partition是原来的10倍,临时建立好原先10倍或者20倍的queue数量

    然后写一个临时的分发数据的consumer程序,这个程序部署上去消费积压的数据,消费之后不做耗时的处理,直接均匀轮询写入临时建立好的10倍数量的queue

    接着临时征用10倍的机器来部署consumer,每一批consumer消费一个临时queue的数据

    这种做法相当于是临时将queue资源和consumer资源扩大10倍,以正常的10倍速度来消费数据

    等快速消费完积压数据之后,得恢复原先部署架构,重新用原先的consumer机器来消费消息

RabbitMQ中由于消息积压导致过期被清理了怎么办

  假设你用的是rabbitmq,rabbitmq是可以设置过期时间的,就是TTL,如果消息在queue中积压超过一定的时间就会被rabbitmq给清理掉,这个数据就没了。

  这就不是说数据会大量积压在mq里,而是大量的数据会直接搞丢。

  这个情况下,就不是说要增加consumer消费积压的消息,因为实际上没啥积压,而是丢了大量的消息。

  我们可以采取一个方案,就是批量重导。就是大量积压的时候,我们当时就直接丢弃数据了,然后等过了高峰期以后,这个时候我们就开始写程序,将丢失的那批数据,写个临时程序,一点一点的查出来,然后重新灌入mq里面去,把白天丢的数据给他补回来。

  假设1万个订单积压在mq里面,没有处理,其中1000个订单都丢了,你只能手动写程序把那1000个订单给查出来,手动发到mq里去再补一次

转载于:https://www.cnblogs.com/mengchunchen/p/10025139.html

消息持续积压几小时怎么办相关推荐

  1. 消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?大量消息持续积压几个小时,怎么办?...

    消息积压处理办法1:临时紧急扩容 先修复consumer的问题,确保其恢复消费速度,然后将现有consumer都停掉.新建一个topic,partition是原来的10倍,临时建立好原先10倍的que ...

  2. 生产环境中,RabbitMQ 持续积压消息不进行ack ,发生什么了?

    问题:生产环境 rabbitmq 部分客户端 channel 持续积压消息不进行ack. 0. 服务配置 rabbitmq 集群(普通集群模式) 消费者 三台 消费线程各消费者 10 消费者配置 使用 ...

  3. 消息队列的消息大量积压怎么办

    目录 消息积压简介 生产端 消费端 已经消息积压,如何处理 总结 注意:本文参考  消息队列的消息大量积压怎么办?_JavaEdge.的博客-CSDN博客_消息队列积压了大量消息怎么处理 消息积压简介 ...

  4. 消息消费积压问题排查实战

    问题描述 在 RocketMQ 消息消费方面一个最常见的问题是消息积压,其现象如下图所示: 所谓的消息积压:就是 Broker 端当前队列有效数据最大的偏移量(brokerOffset)与消息消费端的 ...

  5. 完了!生产事故!几百万消息在消息队列里积压了几个小时!

    分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 一.面试题 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几 ...

  6. MQ 消息积压问题与解决方案

    本文摘自 Doocs 开源社区<互联网 Java 工程师进阶知识完全扫盲>手册,方便读者随时随地阅读学习. 也欢迎读者们关注 GitHub 项目:https://github.com/do ...

  7. Java 最常见的 10000+ 面试题及答案整理:持续更新

    Java面试题以及答案整理[最新版]Java高级面试题大全(2021版),发现网上很多Java面试题都没有答案,所以花了很长时间搜集,本套Java面试题大全,汇总了大量经典的Java程序员面试题以及答 ...

  8. 消息队列面试经典十连问

    前言 金三银四即将来临,整理了十道十分经典的消息队列面试题,看完肯定对面试有帮助的,大家一起加油哈~ 什么是消息队列 消息队列的应用场景 消息队列如何解决消息丢失问题 消息队列如何保证消息的顺序性. ...

  9. 消息队列面试 - 如何解决消息队列的延时以及过期失效问题?

    消息队列面试 - 如何解决消息队列的延时以及过期失效问题? 面试题 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决? 面试官心理分析 你看 ...

最新文章

  1. R语言使用lm构建线性回归模型、并将目标变量对数化实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型系数(coefficient)、模型总结信息(summary)、残差总结信息
  2. C#对话框-使用打开和保存对话框
  3. vector基础操作
  4. (纯干货)万字长文,数据分析利器 pandas 全教程
  5. 关于STM32使用RTC时复位后程序死在 RTC
  6. ArcGIS实验教程——实验二十五:大型商场选址经典案例
  7. ASP.NET数据库操作层的设计
  8. 第14讲 转换与比较指令
  9. 应用安全 - 操作系统安全 - Linux系统加固
  10. [BZOJ]4127: Abs
  11. 学期学会的一些代码23333原创
  12. 如何通过github实现个人网页上传
  13. [OfficeExcel] Word+Excel邮件合并 生成多个文档
  14. 算法转 Java 后端,2021秋招斩获腾讯、京东、百度等大厂 offer 面经分享!
  15. VS常见问题|VS LNK1168错误 有效解决方法
  16. 重装Intel核显后,设备管理器英特尔显卡属性这里报告了一个未启动设备(igfx)
  17. 【Unity3D 教程系列第 12 篇】如何用Unity写一个简易的计时器工具?
  18. 区块链教程、区块链指南、区块链中文手册、区块链原理
  19. 无广告软件下载网站有哪些?资源分享老司机分享经验【亲身经历】
  20. html5入门 epub,分享《HTML5与CSS3基础教程(第7版) 》(图灵程序设计丛书) pdf epub azw3格式...

热门文章

  1. python武器代码_程序员需要掌握的七种 Python 代码更易维护的武器
  2. array in java,ArrayList to Array Conversion in Java
  3. thymeleaf 中 通用的分页方法
  4. plsql日期转换错ORA-01830
  5. Table(name=“xx“)与Entity(name=“xx“) 问题
  6. DB2常见错误码注释
  7. Windows cmd终端美化:Windows terminal背景图
  8. Codeforces Round #723 (Div. 2)B. I Hate 1111(完全背包)
  9. NYOJ458 - 小光棍数
  10. dos远程登录oracle,DOS批处理下 操作telnet实现自动远程登录操作