RocketMQ
pigcoffee
精通C++、分布式应用,数据仓库、PostgreSQL相关工作。
展开
-
RocketMQ双Master模式搭建
服务器环境192.168.1.106 hadoop master192.168.1.107 hadoop master上传解压tar zxvf apache-rocketmq.tar.gz -C /home/hadoopmv apache-rocketmq apache-rocketmq-4.2.0ln -s ./apache-rocketmq-4.2.0 rocket原创 2018-01-22 00:00:32 · 646 阅读 · 0 评论 -
RocketMQ-延迟消息处理流程
概述RocketMQ 支持发送延迟消息,但不支持任意时间的延迟消息的设置,仅支持内置预设值的延迟时间间隔的延迟消息;预设值的延迟时间间隔为:1s、 5s、 10s、 30s、 1m、 2m、 3m、 4m、 5m、 6m、 7m、 8m、 9m、 10m、 20m、 30m、 1h、 2h;在消息创建的时候,调用 setDelayTimeLevel(int level) 方法设置延迟时...原创 2019-08-23 10:30:31 · 6277 阅读 · 1 评论 -
RocketMQ-延迟队列
问题思考延迟队列的应用场景 延迟级别是如何配置的? 如何发送延迟消息? 延迟消息的实现原理应用场景超时未支付订单处理场景 短信延迟发送延迟级别是如何配置的在服务端Broker的属性配置文件中加入messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h该配置描述了延迟...原创 2019-08-22 16:52:23 · 6227 阅读 · 1 评论 -
RocketMQ-消息拉取Pull
一、问题思考消息拉取在实践过程中,有以下几个问题需要考虑:1、如何全量拉取消息?2、如何指定MessageQueue从指定offset处拉取消息?3、如何更新MessageQueue的Offset标志位?4、Pull模式下如何实现负载均衡?二、Pull模式下常用Demo1、更新MessageQueue的Offset标志位consumer.updateConsume...原创 2019-08-16 17:36:46 · 2420 阅读 · 2 评论 -
RocketMQ-消息发送
一、问题思考1、DefaultMQProducerImpl如何发送多个topic消息?2、如何选取MessageQueue?3、发送失败是如何进行重试的?4、超时时间怎么判断?二、消息发送流程1、获取TopicPublishInfo 根据msg.topic从topicPublishInfoTable中获取TopicPubl...原创 2019-08-16 17:06:06 · 387 阅读 · 0 评论 -
RocketMQ-死信队列
问题思考死信队列的应用场景 死信队列中的数据是如何产生的? 如何查看死信队列中的数据? 死信队列的读写权限 死信队列如何消费?应用场景一般应用在当正常业务处理时出现异常时,将消息拒绝则会进入到死信队列中,有助于统计异常数据并做后续处理;数据是如何产生的?重试队列在重试16次(默认次数)将消息放入死信队列参考:https://blog.csdn.net/hqwang4...原创 2019-08-21 17:49:16 · 10831 阅读 · 1 评论 -
RocketMQ-重试队列
什么场景下使用重试队列消费端一直不回传消费结果,MQ认为消息没有收到,Consumer下一次拉取,Broker依然会发送该消息,所以,任何异常都要返回ConsumeConcurrentlyStatus.RECONSUME_LATER,这样MQ会将消息放到重试队列;重试队列名称为:%RETRY%+consumergroup配置Broker配置如下:messageDelayLeve...原创 2019-08-21 16:31:07 · 5235 阅读 · 0 评论 -
RocketMQ-主节点异常Crash,验证MQ稳定性
测试目标1、主节点异常Crash,验证消息是否可以正常发送2、验证备节点消息是否可以正常消费3、验证主备节点消息是否有差异4、主节点恢复后,验证生产者和消费者的处理情况测试过程MQ-Cluster采用2m-2s-async部署模式;MQ集群正常启动,Producer程序启动,通过Kill Broker-a主节点模拟Crash;延迟启动Consumer(模拟消息堆积)...原创 2019-05-23 17:24:16 · 983 阅读 · 0 评论 -
RocketMQ--MQBrokerException: CODE: 2 DESC: [TIMEOUT_CLEAN_QUEUE]broker busy
分析业务日志发现:每天4点左右会报少量的”[TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 206ms, size of queue: 5“错误Broker设置每天自动清理文件的时间是4点中,和Timeout时间比较吻合,那么问题可能就是因为清理文件造成IO突增,导致写数据...原创 2019-05-22 15:15:58 · 10573 阅读 · 0 评论 -
RocketMQ-4.4.0集群安装
安装包准备下载RocketMQ源码,地址:https://github.com/apache/rocketmq/tree/release-4.4.0将rocketmq-master导入到Eclipse中,编译:mvn -Prelease-all -DskipTests clean install -U系统参数调优使用root用户执行 os.sh脚本JDK安装export J...原创 2019-01-25 15:40:01 · 1507 阅读 · 0 评论 -
RocketMQ快速开始
软件环境64bit OS, Linux/Unix/Mac is recommended;64bit JDK 1.8+;Maven 3.2.xGitBuildunzip rocketmq-all-4.2.0-source-release.zipln -s ./rocketmq-all-4.2.0 rocketmqcd rocketmqmvn -Prelease-all原创 2018-01-20 22:07:16 · 295 阅读 · 0 评论 -
RocketMQ可视化管理平台rocket-console
下载地址https://github.com/apache/incubator-rocketmq-externals/tree/master/rocketmq-console源码编译mvn clean package -Dmaven.test.skip=true运行java -jar rocketmq-console-ng-1.0.0.jar --server.port原创 2018-01-22 23:50:34 · 12615 阅读 · 2 评论 -
RocketMQ-Broker异常恢复后部分队列重新加载已消费消息问题解决
问题描述 线上Broker所有在主机IO异常,导致Broker异常退出,主机问题解决后,重启Broker,发现group-A的几个consumeQueue,diff值有几十万,而通过查看日志信息发现该Group的consumeQueue只有几个消息未被消息,那么只能说明Broker异常恢复后将已经消费过的消息重新加载到了consumeQueue中,即:consumeQueue在Bro...原创 2019-10-11 17:37:07 · 2023 阅读 · 0 评论