RocketMQ集群解决方案

RocketMQ(五)RocketMQ集群架构 一、RocketMQ集群架构 RocketMQ网络部署图如下: RocketMQ中主要涉及到四种角色:NameServer注册服务器、Broker服务器、Producer生产者、Consumer消费者。每种角色都可以单独搭建集群,下面我们分别介绍一下NameServer 集群、Broker 集群、Producer 集群、Customer 集群。 (一)、NameServer 集群 NameServer 是一个无状态的节点,可集群部署,节点都是各自独立的,无任何信息同步。 (二)、 Broker 阅读详情

一、应用场景及性能(在使用RocketMq之前我们要思考这框架能帮我们解决什么现实问题)


  1、异步处理,将不是必须的业务逻辑,进行异步处理,比如注册之后短信、邮箱的发送

  2、应用解耦,
       订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功。
       库存系统:订阅下单的消息,采用拉/推的方式,获取下单信息,库存系统根据下单信息,进行库存操作。
       假如:在下单时库存系统不能正常使用。也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。

  3、流量削锋,也是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛。
     应用场景:秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。
     3.1、可以控制活动的人数;
     3.2、可以缓解短时间内高流量压垮应用;
     3.3、用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面;
     3.4、秒杀业务根据消息队列中的请求信息,再做后续处理。

  4、日志处理
  
  5、消息通讯
        消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。


  6、性能:
        RocketMQ单机也可以支持亿级的消息堆积能力
        单机写入TPS单实例约7万条/秒,单机部署3个Broker,可以跑到最高12万条/秒,消息大小10个字节

二、RocketMQ网络部署图


  网络集群节点描述

     1、Name Server 可集群部署,节点之间无任何信息同步。


     2、Broker(消息中转角色,负责存储消息,转发消息) 部署相对复杂,Broker 分为Master 与Slave,一个Master 可以对应多个Slave,但是一个Slave 只能对应一个Master,Master 与Slave 的对应关系通过指定相同的BrokerName,不同的BrokerId来定 义,BrokerId为0 表示Master,非0 表示Slave。Master 也可以部署多个。每个Broker 与Name。


    3、Producer 与Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从Name Server 取Topic 路由信息,并向提供Topic 服务的Master 建立长连接,且定时向Master 发送心跳。Producer 完全无状态,可集群部署。


    4、Consumer 与Name Server 集群中的其中一个节点(随机选择)建立长连接,定期从Name Server 取Topic 路由信息,并向提供Topic 服务的Master、Slave 建立长连接,且定时向Master、Slave 发送心跳。Consumer既可以从Master 订阅消息,也可以从Slave 订阅消息,订阅规则由Broker 配置决定。



三、实际集群部署操作步骤(采用多Master多Slave,异步复制集群模式进行部署)
1、下载部署包  alibaba-rocketmq-3.2.6.tar.gz
2、将下载的包放入并解压到Linux系统指定目录中,在这里我以/home/目录为例,准备四台虚拟机服务器分别为       
     rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
下面步骤就不区分是在哪台服务器进行操作了,步骤都是一样的
     -- 解压
     #tar -zxvf alibaba-rocketmq-3.2.6.tar.gz
     -- 修改配置文件由于我们采用的是异步复制模式,所以需要修改2m-2s-async配置内容,-- 2m-2s-sync 是代表同步复制模式 ,2m-noslave是代表单击模式
     #修改RoakctMq主节点 
     #vim  /home/alibaba-rocketmq/conf/2m-2s-async/broker-a.properties 
#---------------------------------------主节点配置信息----------------------------------------------------
#Broker所属哪个集群,默认【DefaultCluster】
brokerClusterName=Default-RocketMq-Cluster
#broker 实列名称,主从关系的需要保持名称一致
brokerName=broker-a
#BrokerId,必须是大等于0的整数,0表示Master,>0表示Slave
brokerId=0

#brokerIP1=192.168.74.131
#删除文件时间点,默认凌晨4点
deleteWhen=04
#文件保留时间,默认48小时
fileReservedTime=48
#- ASYNC_MASTER 异步复制Master  
#- SYNC_MASTER  同步双写Master  
#- SLAVE

brokerRole=ASYNC_MASTER
#刷盘方式 - ASYNC_FLUSH 异步刷盘 - SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#Name Server地址
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
#Broker对外服务的监听端口,默认【10911】
listenPort=10911
defaultTopicQueueNums=4
#是否允许Broker自动创建Topic,建议线下开启,线上关闭,默认【true】
autoCreateTopicEnable=true
#是否允许Broker自动创建订阅组,建议线下开启,线上关闭,默认【true】
autoCreateSubscriptionGroup=true
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88
storePathRootDir=/usr/local/alibaba-rocketmq/data/store
storePathCommitLog=/usr/local/alibaba-rocketmq/data/store/commitlog
#消费队列存储路径存储路径  
storePathConsumeQueue=/usr/local/alibaba-rocketmq/data/store/consumequeue
#消息索引存储路径  
storePathIndex=/usr/local/alibaba-rocketmq/data/store/index
#checkpoint 文件存储路径  
storeCheckpoint=/usr/local/alibaba-rocketmq/data/store/checkpoint
#abort 文件存储路径  
abortFile=/usr/local/alibaba-rocketmq/data/store/abort
maxMessageSize=65536
flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000
checkTransactionMessageEnable=false
sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
#---------------------------------------结束--->主节点配置信息----------------------------------------------------
#---------------------------------------开始--->从节点配置信息----------------------------------------------------
#修改Salves
#vim   /home/alibaba-rocketmq/conf/2m-2s-async/ broker-a-s.properties
#Broker所属哪个集群,默认【DefaultCluster】
brokerClusterName=Default-RocketMq-Cluster
#broker 实列名称,主从关系的需要保持名称一致
brokerName=broker-a
#BrokerId,必须是大等于0的整数,0表示Master,>0表示Slave,一个Master可以挂多个Slave,Master与Slave通过BrokerName来配对,默认【0】
brokerId=1
#brokerIP1=192.168.74.134
#删除文件时间点,默认凌晨4点
deleteWhen=04
#文件保留时间,默认48小时
fileReservedTime=48
#- ASYNC_MASTER 异步复制Master  
#- SYNC_MASTER 同步双写Master  
#- SLAVE   
brokerRole=SLAVE
#刷盘方式 - ASYNC_FLUSH 异步刷盘 - SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
#Name Server地址
namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876;rocketmq-nameserver3:9876;rocketmq-nameserver4:9876
#Broker对外服务的监听端口,默认【10911】
listenPort=10911
defaultTopicQueueNums=4
#是否允许Broker自动创建Topic,建议线下开启,线上关闭,默认【true】
autoCreateTopicEnable=true
#是否允许Broker自动创建订阅组,建议线下开启,线上关闭,默认【true】
autoCreateSubscriptionGroup=true
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=50000000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
diskMaxUsedSpaceRatio=88
storePathRootDir=/usr/local/alibaba-rocketmq/data/store
storePathCommitLog=/usr/local/alibaba-rocketmq/data/store/commitlog
#消费队列存储路径存储路径  
storePathConsumeQueue=/usr/local/alibaba-rocketmq/data/store/consumequeue
#消息索引存储路径  
storePathIndex=/usr/local/alibaba-rocketmq/data/index
#checkpoint 文件存储路径  
storeCheckpoint=/usr/local/alibaba-rocketmq/data/checkpoint
#abort 文件存储路径  
abortFile=/usr/local/alibaba-rocketmq/data/abort
maxMessageSize=65536
flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000
checkTransactionMessageEnable=false
sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=128
#---------------------------------------结束--->从节点配置信息----------------------------------------------------

 3、启动RocketMQ
 3.1、 在rocketmq-nameserver1启动Maste broker-a 服务(进入/home/alibaba-rocketmq/bin 目录)
 #nohup sh mqnamesrv &
 #nohup sh mqbroker -c /home/alibaba-rocketmq/conf/2m-2s-async/broker-a.properties >/dev/null 2>&1 & 

 3.2、 在rocketmq-nameserver4启动Slavebroker-a-s服务(进入 /home/alibaba-rocketmq/bin 目录)
 #nohup sh mqnamesrv &
 #nohup sh mqbroker -c /home/alibaba-rocketmq/conf/2m-2s-async/broker-a-s.properties >/dev/null 2>&1 & 

 3.3、 在rocketmq-nameserver4启动Slave broker-b服务(进入 /home/alibaba-rocketmq/bin 目录)
 #nohup sh mqnamesrv &
 #nohup sh mqbroker -c /home/alibaba-rocketmq/conf/2m-2s-async/broker-b.properties >/dev/null 2>&1 & 

 3.4、 在rocketmq-nameserver4启动Slave broker-b-s服务(进入 /home/alibaba-rocketmq/bin 目录)
 #nohup sh mqnamesrv &
 #nohup sh mqbroker -c /home/alibaba-rocketmq/conf/2m-2s-async/broker-b-s.properties >/dev/null 2>&1 & 


  3.3、JPS检查
 #jps 
查看是否有如下进程,如果有则服务启动成功:
BrokerStartup
NamesrvStartup
关停服务命令:
#sh mqshutdown namesrv  
#sh mqshutdown broker 
#注意要关闭节点上的防火墙,不然集群访问不了,也不能接受Produce消息
-- 查看防火墙状态信息
service iptables status
-- 关闭防火墙(很重要)
service iptables stop


3.4、常用命令
--查看所有消费组group
#sh mqadmin consumerProgress -n rocketmq-nameserver1:9876
--看指定消费组下的所有topic数据堆积情况
#sh mqadmin consumerProgress -n 1rocketmq-nameserver1:9876 -g myProducer
查看指定报文信息 C0A8718A00002A9F000000000000F790 指的是报文在MQ队列中的MSG_ID
#sh mqadmin queryMsgById -n rocketmq-nameserver1:9876 -i C0A8718A00002A9F000000000000F790

--查看Topic 列表信息
#sh mqadmin topicList  -n rocketmq-nameserver1:9876
--查看topic信息列表详情统计
#sh mqadmin topicstatus -n rocketmq-nameserver1:9876 -t Topic
--查看集群消息
#sh mqadmin clusterList  -n 1rocketmq-nameserver1:9876  



RocketMQ集群No route info of this topic解决方案 1.问题描述    在针对RocketMQ集群做模拟故障测试,测试环境:         1.两台linux服务器,系统配置MEM:64G,CPU:32 core。RocketMQ版本4.2.0。         2.每台服务器上部署一个nameSvr,主broker、备broker(两台服务器之间互为主备)    当在模拟其中一台RocketMQ服务器故障时(强制停止这台服务器所有程序进程),R... 阅读详情

相关推荐

RocketMQ集群版Dashboard搭建避坑指南:从JDK版本冲突到端口占用的完整解决方案

本文详细介绍了RocketMQ集群版Dashboard的搭建过程,从环境准备、安装部署到常见问题排查,特别是JDK版本冲突和端口占用等关键问题的解决方案。通过实战指南帮助运维人员高效完成Dashboard部署,确保与RocketMQ集群的稳定连接和监控功能。

html8的博客 641

万字超详细解析:RocketMQ集群环境搭建

通过之前安装单台RocketMQ,并演示了消息的收发,已经基本了解了RocketMQ是怎么样工作的,下面就来搭建一个集群。

wdj_yyds的博客 3517

RocketMQ Dashboard集群版避坑指南:从JDK版本冲突到端口占用的完整解决方案

本文详细介绍了RocketMQ Dashboard集群版的部署与高可用配置,重点解决JDK版本冲突、端口占用等常见问题。通过环境检查清单、集群化部署配置和故障排查手册,帮助用户快速搭建稳定的RocketMQ监控平台,提升运维效率。

weixin_42531925的博客 317

rocketmq Don't have SubscriptionGroup

1. 问题描述 rocketmq 生产者发消息正常 mq后台也可以看到发出的消息 但是消费者一直没消费 好像订阅没成功 2. 问题排查 通过上图查看 确实没有检测到订阅者 3. 问题解决 线上环境是 两台机器 共四个实例 项目中订阅了两个不同地址不同topic的mq 然后那个instanceName会有命名冲突 ip@进程id 重新修改ins...

weixin_34088598的博客 4049

【RocketMQ】从零搭建一套RocketMQ监控(rocketmq-exporter + Prometheus + Grafana)

前言 研究RocketMQ的同学都知道,RocketMQ的生态目前并不是很完善,包括官方的文档资料也有限,官方的Console存在一些Bug,页面的样式有的也有问题,但是正是由于这些原因,我们针对RocketMQ能做的事有很多,不像Kafka,生态已经很完善,一些企业也对Kafka做了开源的产品,最近开始做基于K8S的RocketMQ管理控制台,需要对每个集群有完善的监控告警,接下来就简单说明一下做RocketMQ的监控有哪些步骤。 部署rocketmq-exporter 以下操作基于Linux系统。 首先

浩瀚宇宙的一粒尘埃 6283

RocketMQ集群的特点以及各种集群模式的介绍

同步模式下的多Master多Slave模式比异步模式效率略低,并且性能也比异步模式消耗要高,因为同步模式Broker收到一条消息,首先会落盘然后同步给Slave,最后再反馈给发送者,而异步模式下,Broker在收到消息的一瞬间就会反馈给发送者消息已收到。同步模式下可以保证消息的可靠性,会保证每一条消息丢失成功进行存储的,而异步模式下,虽然Broker收到消息可以立即反馈,但是数据落盘时如果MQ宕机,发送者已经收到确认的消息的,但是消息其实并没有存储到Broker中,就会导致消息数据存在丢失的现象。

江晓龙的博客 1万+

RocketMQ集群搭建

文章目录集群规划一.nameserver:二.broker三.rocketmq-console控制台集群部署一、每台机器部署二、10.39.128.33-Master部署三、10.39.128.34/35--Slave部署四、查看集群状态五、rocketmq-console控制台部署 集群规划 一.nameserver: 10.39.128.33:9876 10.39.128.34:9876 10...

caoliangdba的博客 615

【Vite+Vue3+TS】基于Vite+Vue3+TypeScript+ESLint+Prettier+Stylelint搭建项目(亲测超详细)

结合了很多项目和文章,总结一篇项目构建的笔记。 温馨提示:文章末尾记录了我在搭建项目过程中,遇到的一些问题和解决办法 ~

aDiaoYa_的博客 4231

RocketMQ集群解决方案----JAVA应用

上篇文章 RocketMQ集群解决方案 已经讲解了RocketMQ应用场景及性能、RocketMQ网络部署图、实际集群部署操作步骤(采用多Master多Slave,异步复制集群模式进行部署),这篇文章将讲解JAVA应用中怎么实际调用搭建的RocketMQ集群环境。      一、先搭建两个JAVA  WEB工程,一个是消息生产者工程ProducerProject,另外是一个消息消费者工程Cons

aspnetandjava的专栏 5125

c语言面试5(希诺麦田)

在 C 语言中,当使用strlen函数计算字符串的长度时,它会返回字符串中字符的实际个数,不包括字符串结束符’\0’。而sizeof(array)返回的是array指针所占用的字节数,通常在 32 位系统上为 4 个字节,在 64 位系统上为 8 个字节。在给定的代码中,array被初始化为"\0\0",其中包含两个转义字符’\0’。当使用strlen函数计算array的长度时,它会遇到第一个’\0’并停止计数,因此返回的长度为 2。12.下面四个选项是四个整数在内存中的存储情况,其中数值最大的一个是。

Pierce110110的博客 1053

TC397 EB配置ADC软件触发:从零实现周期采样与中断处理

本文详细介绍了如何在Infineon AURIX TC397芯片上使用EB Tresos工具配置ADC软件触发,实现周期采样与中断处理。通过硬件连接、EB模块配置、代码初始化及数据处理的全流程解析,帮助开发者快速掌握ADC软件触发技术,提升嵌入式系统开发效率。

root9的博客 231

Windowns10下的RocketMQ集群启动报错lock failed, MQ already started解决方案

lock failed, MQ already started 有多少人在Windowns10下的启动RocketMQ集群broker报错,或者启动了,cmd窗口没有反应的? 启动命令: start mqbroker.cmd -n 127.0.0.1:9876 -c D:\install\java\rocketmq-all-4.9.1-bin-release\conf\2m-2s-sync\broker-a.properties & 发现:lock failed, MQ already start

weixin_45705552的博客 924

OpenCV C++ 图像处理实战 ——《基于轮廓比对的缺陷检测》

本文使用OpenCV C++ 实现基于轮廓比对的缺陷检测。

Zero___Chen的博客 1148

RocketMQ集群监控实战:5分钟搞定Dashboard可视化配置(附常见端口冲突解决方案)

本文详细介绍了如何快速配置RocketMQ集群的Dashboard可视化监控,包括环境准备、关键配置优化、智能启动方案及常见问题解决方案。通过5分钟快速部署,实现集群状态实时监控,提升运维效率,特别针对端口冲突和JDK版本适配问题提供了实用解决方案。

defi6farmer的博客 599

【100%通过率】华为od机试C卷【出差 / 员工派遣】C++ 实现

某公司部门需要派遣员工去国外做项目。现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工部门每个员工有一个员工号 (1,2,3,......),工号连续,从 1开始。部长派遣员工的规则:

MISAYAONE的博客 2193

LLaMA-Factory微调教程2:命令行sft微调

本文介绍了如何使用llama-factory项目在本地运行Qwen2-7B大语言模型进行对话。首先通过llamafactory-cli env查看环境配置,然后使用git lfs下载Qwen2-7B模型。创建配置文件qwen2_7b_instruct.yaml,修改模型路径和模板参数。最后通过llamafactory-cli chat命令启动对话服务,加载模型配置文件和tokenizer,完成环境初始化后即可进行交互式对话。

Cachel Wood的博客 8814

82-RocketMQ5.1.3从入门到大厂解决方案

消息消费队列,引如的目的主要是提高消息消费的性能,由于RocketMQ是基于主题topic的订阅模式,消息消费是针对主题进行的,如果要遍历commitlog文件中根据topic检索消息是非常低效的。新建几个Consumer,这些Consumer不真正的去做消息的消费,而是把接收到的消息,转发到另外新建的一个主题上(需要注意,这个新建的主题下边可以创建比原来多10倍-20倍的队列),然后再新建一个临时消费组,这个消费组里边就可以创建比原来多10-20倍的消费者,这样就可以很快的把积压的消息消费了。

美好开始来了 790

8.30华为OD机试真题 新系统 - 单词搜索计数 (Java/Py/C/C++/Js/Go)

8.30华为OD机试真题 新系统 - 单词搜索计数 (Java/Py/C/C++/Js/Go)

算法大师! 598

Docker搭建RocketMQ集群

服务器环境:centos7安装用户:root,关闭防火墙使用一键式搭建docker环境下的RocketMQ集群及其管理工具,实现rocketmq在docker环境容器外部访问。

m0_37999219的博客 1万+

[工作流节点10] 获取多条数据并循环执行 —— 明道云批处理自动化实战

本文系统介绍了明道云工作流中"获取多条数据+循环执行"的批处理功能。该功能通过筛选数据集合并逐条处理,适用于批量通知、数据更新等场景。文章详细解析了功能配置方法,包括数据筛选、循环设置和异常处理,并提供了合同到期提醒等典型应用案例。同时强调了数据量控制、分批处理、错误处理等优化策略,帮助用户实现高效批量自动化。这一功能组合能将业务从单条处理升级为批量驱动,显著提升工作效率。

每日出拳老爷子的博客 455

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

linux环境下rocketmq(4.3.2)消息队列集群详细部署教程

简介: RcoketMQ 是一款低延迟、高可靠、可伸缩、易于使用的消息中间件,支持以下特性: 支持发布/订阅(Pub/Sub)和点对点(P2P)消息模型 在一个队列中可靠的先进先出(FIFO)和严格的顺序传递 支持拉(pull)和推(push)两种消息模式 单一队列百万消息的堆积能力 支持多种消息协议,如 JMS、MQTT 等 分布式高可用的部署架构,满足至少一次消息传递语义 提供...

alan_liuyue的博客 3920

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

9 RocketMQ

09RocketMQ-1. RocketMQ概述* 09RocketMQ-2. 搭建RocketMQ* 09RocketMQ-3. RocketMQ-Console管理控制台* 09RocketMQ-4. RocketMQ模式* 09RocketMQ-5. SpringBoot 整合 RocketMQ* 09RocketMQ-6. 集群安装部署* 09RocketMQ-7. 基于MQ的分布式事务解决方案说明 ...

学无止境 321

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

RocketMq的一些细节

1: RocketMq 默认消费行为是无序的, 但是可以保证局部有序(单队列内) 具体解决方案为: 生产者发送消息时指定队列(根据业务IDHash等等。。。) ,同时消费者使用有序消费监听器(MessageListenerOrderly) 两者同时实现 即可保证局部有序 2: rocketmq的消息通讯机制是由推(push)拉(pull)两种方式实现 不过rocketmq对推送机制做了优化 现在已不需要拉取了 rocketmq的推送机制原理: 由客户端定时与mq发起pull长连接 若无消息返回 则间隔一

开心就好 6568

RocketMQ搭建双主双从同步复制报错

前言 最近在整合RocketMQ,想丰富一下自己的技术栈!在整合RocketMQ的时候有些问题,特意拎出这篇文章把一些问题解决一下! 环境准备 1.防火墙关闭或者端口开放 # 关闭防火墙 systemctl stop firewalld.service # 查看防火墙的状态 firewall-cmd --state # 禁止firewall开机启动 systemctl disable firewalld.service # 开放name server默认端口 firewall-cmd --remove

程序员劝退师的博客 1335

RocketMQ实战—7.生产集群部署和生产参数

真实的情况是,如果这个-XX:MaxGCPauseMillis = 20参数设置过⼩,G1垃圾回收器会因为这个⽐较⼩的停顿时间,⽽给新⽣代⼀个⾮常⼩的空间,这就导致频繁的触发YGC。例如是4核那么线程数就是3,如果⾃定义⼀个公⽤线程池,所有消费者都使⽤这个线程池,假如开启了80个线程,但是真正处理消费后的核⼼⽅法逻辑的,其实只有3个线程。根据上面列举的可能原因,除了Broker本身外,还有⼀些其他的可能原因,就是batchSize过⼤,或者是Chanel接⼝太忙。超时时间调得⼤⼀点,会不会就解决了?

mjunz的博客 1000
上一篇: 如何选择悲观锁策略
下一篇: RocketMQ集群解决方案----JAVA应用
aspnetandjava
博客等级 码龄16年 43粉丝 42原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值