多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

RocketMQ 5.5.1 单机实战:三分钟启动 broker,三种发送方式实测 15 万 msg/s

RocketMQ 5.5.1 单机实战:三分钟启动 broker,三种发送方式实测 15 万 msg/s RocketMQ 5.5.1 单机实战三分钟启动 broker三种发送方式实测 15 万 msg/s一、两环境变量两脚本broker 就起来了最常见的启动报错是Please set the ROCKETMQ_HOME variable——脚本靠它定位 lib/。Windows 全流程set ROCKETMQ_HOMED:\rocketmq-all-5.5.1-bin-release set JAVA_HOMEC:\Program Files\Java\jdk21 bin\mqnamesrv.cmd bin\mqbroker.cmd -n 127.0.0.1:9876就绪判据netstat -ano里 9876 与 10911 都 LISTENING。二、三种发送方式一张表看懂怎么选Java 生产者各发 1000 条实测OpenJDK 21方式语义实测同步 send()阻塞等 broker 确认OK1000RTT 0.678ms异步 send(cb)回调确认OK99714624 msg/s单向 sendOneway发完即忘153619 msg/s选型口诀关键链路用同步日志埋点异步打批可丢指标用单向。异步实测 OK997/1000——有 4 条确认在窗口期未回收这正是异步语义的代价生产要配对账。三、消费者PushConsumer 3000 条全追平PushConsumer 不是推是框架包好的长轮询拉取。订阅监听器返回 CONSUME_SUCCESS 即确认DefaultMQPushConsumerconsumernewDefaultMQPushConsumer(contest_consumer_group);consumer.setNamesrvAddr(127.0.0.1:9876);consumer.subscribe(contest_sync,*);consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);consumer.registerMessageListener((MessageListenerConcurrently)(msgs,ctx)-ConsumeConcurrentlyStatus.CONSUME_SUCCESS);consumer.start();实测 3000 条 1.85s 消费完1622 msg/s。四、mqadmin三分钟学会看消费位点运维第一命令bin\mqadmin.cmd consumerProgress-n127.0.0.1:9876-gcontest_consumer_group看三列Broker Offset已存、Consumer Offset已消、Diff积压。实测全队列 Diff0。线上告警第一指标就是 Diff 持续增长。五、三个踩坑记录ROCKETMQ_HOME 不设必挂脚本第一行就检查别用 client 单 jar 编译rocketmq-client 缺 common/remoting 依赖直接-cp 发行版\lib\*版本完美匹配JDK 21 可跑5.5.1 全链路在 OpenJDK 21 下正常。配套完整工程RocketMQ 5.5.1 消息队列单机实战namesrv/broker 启动到三种发送全跑通附实测工程发送全跑通附实测工程](https://download.csdn.net/download/achuxin123/93662103)启动脚本、两个 Java 实验源码与全量运行留档都在工程包里。
返回列表