consumer罢工,几千万条im聊天数据积压在MQ中,解决思路

最近遇到一个线上问题,consumer出问题了,导致几千万条im聊天数据积压在MQ中几个小时,从下午五点多,积压到晚上十二点多。
遇到这种事一种解决办法是,修复consumer,让它慢慢消费。这样搞的话展示不了实力。

由于实力不允许这样搞,于是采取一下解决步骤和思路:

  • 先修复 consumer 的问题,确保其恢复消费速度,然后将现有 consumer 都停掉。
  • 新建一个 topic,partition 是原来的 10 倍,临时建立好原先 10 倍的 queue 数量。
  • 然后写一个临时的分发数据的 consumer 程序,这个程序部署上去消费积压的数据,消费之后不做耗时的处理,直接均匀轮询写入临时建立好的 10 倍数量的 queue。
  • 接着临时征用 10 倍的机器来部署 consumer,每一批 consumer 消费一个临时 queue 的数据。这种做法相当于是临时将 queue 资源和 consumer 资源扩大 10 倍,以正常的 10 倍速度来消费数据。
  • 等快速消费完积压数据之后,得恢复原先部署的架构,重新用原先的 consumer 机器来消费消息。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/132320.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go 项目打包部署到服务器

1、window打包到Linux 步骤1 依次执行一下命令,就会得到一个exe 文件 步骤2 把打包的文件,放到服务器上(可以使用FinalShell工具) chmod x main # 执行这个命令,给main 文件添加 执行权限,然后执行 ls &…

书客、柏曼、爱德华哪款比较值得入手?三款台灯多维度测评

随着现在孩子的近视趋势越来越严峻,有很多家长开始意识到自己的孩子也出现了揉眼睛、时不时眯眯眼的情况。而台灯作为守护孩子用眼环境的必备用品,很多家长想给孩子购置一款护眼灯,却看见市面琳琅满目的款式根本不知道怎么购买。 所以今天为了…

3D模型格式转换工具HOOPS Exchange:模型数据自由导入和导出

HOOPS Exchange是一套高性能软件库,可以为软件开发人员提供导入和导出3D文件格式的能力。HOOPS Exchange导入3D数据后,会将3D数据转换为PRC格式存放到内存中,最后导出成为其他3D格式。(点击申请HOOPS Exchange免费试用&#xff09…

docker 部署 xxl-job SpringBoot 整合 xxl-job 执行任务

概述 XXL-JOB是一个轻量级的分布式任务调度平台,具有以下特点: 调度模块:负责管理调度信息,发出调度请求,支持可视化和动态的操作,监控调度结果和日志,支持执行器Failover 执行模块&#xff1…

HashMap -- 调研

HashMap 调研 前言JDK1.8之前拉链法: JDK1.8之后JDK1.7 VS JDK1.8 比较优化了一下问题: HashMap的put方法的具体流程?HashMap的扩容resize操作怎么实现的?源码得到结论 小记概念: 什么是散列概念: 什么是哈希冲突hashMap Hash 为什么是16bithashMap 如…

RabbitMQ开启消息跟踪日志(trace)

Trace 是Rabbitmq用于记录每一次发送的消息,方便使用Rabbitmq的开发者调试、排错。 1、启动Tracing插件 在RabbitMQ中默认是关闭的,需手动开启。此处rabbitMQ是使用docker部署的 ## 进入rabbitMq中 docker exec -it rabbitmq1 bash ## 启动日志插件 r…

element el-table树形表格结构,勾选联动 父级勾选,子级全部选中,勾选子级,父级显示勾选状态

需求实现如下 重点使用到 select 以及 select-all 两个方法 返回数据格式 代码实现 <el-table ref"tableRef" :cell-style"{ color: #FFF, background: #333 }":header-cell-style"{ color: #FFF, background: #333 }" row-key"id"…

httprunnet自动化测试实战

引言 自动化测试是指使用软件工具、脚本或编程来执行测试任务&#xff0c;以代替人工执行测试用例的过程。它使用自动化工具和技术来模拟用户操作&#xff0c;验证和评估软件应用程序的功能、性能和稳定性。 自动化测试的主要目的是提高测试效率和质量&#xff0c;它具有以下几…

视频转二维码简单技巧,适用多种视频格式

现在很多商品介绍多是以视频的方式来展现&#xff0c;那么为了方便用户能够同时快速获取视频内容&#xff0c;所以很多的商家现在会将视频生成二维码放到宣传单、展板、海报等宣传内容上&#xff0c;让他人通过扫码获取信息。那么视频二维码生成器的使用方法有哪几个步骤呢&…

矩阵剪辑系统源码----pc/手机端双开发

剪辑系统&#xff0c;剪辑矩阵系统&#xff0c;剪辑矩阵系统主要是针对抖音、快手、bili平台的一个工具&#xff0c;今天就来给大家交流一下这 个产品的主要功能以及构成。剪辑矩阵系统&#xff0c;矩阵剪辑系统源码-这产品主要功能就是一个视频剪辑功能&#xff0c;这个视频剪…

asp.net饭店订餐管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio计算机设计定制

一、源码特点 asp.net 饭店订餐管理系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语 言开发 asp.net饭店订餐系统 二、功能介…

【设计模式】使用建造者模式组装对象并加入自定义校验

文章目录 1.前言1.1.创建对象时的痛点 2.建造者模式2.1 被建造类准备2.2.建造者类实现2.3.构建对象测试2.4.使用lombok简化建造者2.5.lombok简化建造者的缺陷 3.总结 1.前言 在我刚入行不久的时候就听说过建造者模式这种设计模式&#xff0c;当时只知道是用来组装对象&#xf…