
RocketMQ
文章平均质量分 77
Apache阿里开源消息中间件学习
songlinnihao
java
展开
-
RocketMQ消费重试概览
一、RocketMQ的消息消费过程中,有可能失败或报错,且支持消费重试: 重试情况(未返回消费成功状态) 1. 消费者抛异常,或返回reconsume_later 2. 网络超时 集群消费模式:消费失败后重试 广播消费模式:只打印日志不重试 并发消费重试 1. 根据消费失败消息的内容,创建新消息(重试主题为%RETRY%+consumerGroup),设置延迟时间重新投递 2. 当消息达到延迟时间后,再创建重试主题的消息,保存commitLog,重新消费 3. 并发消费...原创 2021-01-06 16:32:28 · 838 阅读 · 0 评论 -
RocketMQ消息消费
一、RocketMQ介绍 RocketMQ是阿里巴巴开源Apache项目,功能强大的分布式消息中间件,经过阿里巴巴双十一考验。 Rocketmq在高可用、高性能、负载均衡的系统设计上比较出众。主要特性有: •多主多从架构,高版本支持主从切换 •消息负载均衡和水平扩展 •Netty高性能网络通信 •轻量级NameServer进行消息路由 •高性能的消息存储机制 •支持消息发送和消费重试 •支持顺序消息和事务消息 •支持消息轨迹查询和消息回溯 …..... 二、消息...原创 2021-01-06 12:00:43 · 276 阅读 · 0 评论 -
rocketmq消息发送容错策略和优雅关机
1.近期研究rocketmq的源码,发现producer在发送消息时,先根据路由选择broker的MessageQueue,在选择发送队列时, 会根据sendLatencyFaultEnable值进行容错处理。 DefaultMQProducer设置参数入口: 2.发送消息源码 (1)获取topic路由信息:TopicPublishInfo topicPublishInfo = thi...原创 2020-05-01 21:43:08 · 1696 阅读 · 0 评论 -
rocketmq的消息msgId和offsetMsgId
1.rocketmq的消息发送时,producer客户端生成msgId(通过ip+进程+自增值+当前与系统启动时间差值),有另外的一个叫法uniqId 方法入口:MessageClientIDSetter.createUniqID() 通过mqadmin查询时需要通过msgid+对应topic 2.OffsetMsgId:由broker服务端生成(服务端ip地址+服务端消息的物理分区...原创 2020-05-01 21:07:03 · 1961 阅读 · 0 评论