
rocketmq
个人渣记录仅为自己搜索用
不盈利,只为分享,转载.
找到的原版url的,尽量会贴原版url.
如有版权侵犯,请留言删除.
展开
-
rocketmq 的cluster模式下确保消息不丢失之消费进度维护
DefaultMQPushConsumerImpl.pullMessage(PullRequest) (com.alibaba.rocketmq.client.impl.consumer){long commitOffsetValue = 0L; if (MessageModel.CLUSTERING == this.defaultMQPushConsumer.getMessa原创 2016-04-26 23:32:37 · 10857 阅读 · 1 评论 -
rocketmq的存储数据结构
存储结构: commit log最简单原始的偏移量存储机制,先存存再得到offset(偏移量), index log索引文件使用的是hash存储机制, key通过 (topic+key)%槽位数得到,value为commitlog的物理偏移量phyOffset consumer queue 也是采用最简单的偏移量数组存储机制,并且每个消息大小一致,value原创 2016-04-21 10:52:56 · 4482 阅读 · 0 评论 -
rocketmq cluster下concurrently重试机制实现
总体来说比较迂回,比较巧妙地利用了原顺序存储机制和delay队列机制.重试消息的存储:1.原topic消费2.消费失败,发回到broker3.broker 替换为retry,4. 进一步改成delay_topic 和对应的queue中 ,放入到commitlog后分发.重试消息的消费:5. 有broker本地delay消息的模拟消费者消费,并将其放入到retryTo原创 2016-04-27 00:05:16 · 3331 阅读 · 0 评论 -
rocketmq 延迟队列的实现fei
流程描述:1. producer发消息,设置一个延迟level值. 2. broker 保存消息时替换了topic,和queueId(一个level计算得到一个queueId,并将实际的topic和queueId作为properties保存).3. broker有定时任务(其实是个consumer)消费延迟消息,如果到达延迟时间,将消息取出,改回原来的topic和queueId原创 2016-04-19 13:24:34 · 14781 阅读 · 2 评论 -
rocketmq stats.Log 的统计 cmd awk
理论上应该接入小米监控平台. 数据导入,清洗后展示,监控. 目前没有这么一个好的平台.日志要专项专打. 通过 log logAppender 自动分流到不同的文件中去. 不要手动静态配置了.日志:2017-07-14 22:29:00 INFO - [GROUP_GET_SIZE] [ORDER_DRIVER_END_SERVICE_TOPIC@crm_realtime_msg] St...原创 2017-07-15 15:04:48 · 1240 阅读 · 0 评论 -
rocketmq 雪崩后客户端超时
rocketmq 雪崩后客户端超时看了源代码,mq broker 方核心日志信息:1. 通过 mqAdmin 的消息 id,查看信息的 born 和 stroe 时间2. 通过慢查日志查看.defaultMessageStore.java 中 PutMessageResult putMessage(MessageExtBrokerInner msg) {l原创 2017-07-15 21:59:17 · 9952 阅读 · 0 评论 -
rocketmq的优雅停机和 spring getBean 冲突
658648:2016-02-20 18:00:00,hostName=.com,node_error:e:org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'sactionManager': Singleton bean creation not all原创 2017-02-06 15:29:40 · 2141 阅读 · 0 评论