Rocketmq
weixin_40455124
这个作者很懒,什么都没留下…
展开
-
rocketmq rsqldb 简单记录
总体感觉刚刚起步,在win10 idea 下run有如下错误,但debug可以pass(没有仔细看原因,估计是某个bean没有默认初始化),是和目前stream sql化看齐的Rocketmq的sql,类似还有kafka的sqlDB 和flink sql。以上异常在以下代码中createStaticCompactTopic中。原创 2023-07-29 21:37:30 · 730 阅读 · 0 评论 -
rocketmq 5.13任意时间延迟消息
message.getDeliverTimeMs()-- 消息触发时间,即delay设置的timestamp。官方示意代码在public class TimerMessageProducer。message.getBornTimestamp() – 消息生成时间。原理是采用timewhile 实现的,源码分析可以参考。除了useDelayLevel 已经默认改为false。实际测试大部分都会提前几百毫秒发送消息。可以使用以下代码验证。原创 2023-07-29 10:22:30 · 1198 阅读 · 0 评论 -
rocketmq Messagefilter
这里只关注不需要filtersever支持的messagefilter,个人认为filterserver支持上传class的模式比较不安全,没有去关注。4.5 Broker自身支持tag及sql92 两种filter,参看public class MessageSelector,使用前需要在broker设置enablePropertyFilter = true。下面是关键类简单说明:...原创 2019-06-28 21:35:40 · 400 阅读 · 0 评论 -
Rocketmq SendMessagehook及ConsumerMessagehook简单记录
SendMessagehook及ConsumerMessagehook在broker及client 的执行过程都做了支持,但是broker端暂时没有发现设置这两类hook的地方,是否需要修改broker代码?Rocketmq的消息trace就是使用这两类hook来实现的,具体类在trace下。...原创 2019-06-28 21:07:45 · 1882 阅读 · 0 评论 -
Rocketmq Broker HA及messageStorePlugin
broker HA依托于Dledger,Deldger是阿里参与openmessage 里面的一个子项目,目前star呵呵,如果要生产需要仔细评估测试。实现方式是在MessageStore里面进行了修改,通过增加一个commitlog类及HA切换,要注意默认模式下Slave是会写commitlog,而Dledger只有master写。而MessageStorePlugin 是rocketmq用...原创 2019-06-28 21:04:02 · 310 阅读 · 1 评论 -
RocketMQ acl
ACL是rocketmq 用于client与broker的认证及权限机制,目前namesrv还不支撑,总结如下:核心代码都在project rocketmq-acl中主要参考参考指引https://github.com/apache/rocketmq/blob/master/docs/cn/acl/user_guide.mdbroker的配置默认在rocket-home下的/conf/pl...原创 2019-06-27 21:59:01 · 1872 阅读 · 0 评论 -
Rocketmq pull message
rocketmq pull 消息相对简单pull对broker的压力小,但 要求client自己处理并发、rebalance等所有事情,因此使用pull模式需要的开发工作量相对比较大pull代码里面看起来有Rebalance,但追踪到RebalancePullImpl 可以发现没有dispatch,没有起作用可以使用sync或者async模式获取消息,结果都是在PullResult 中b...原创 2019-06-22 22:10:07 · 384 阅读 · 0 评论 -
rocketmq pushconsumer offset及rebalance简单总结
简单总结:rebalance只对cluster消息有用,广播消息无效广播消息offset存放在本地,定期更新到本地文件中cluster消息offset在内存,定期更新到broker,启动时候设置从哪各offset开始读会在rebalance过程中被替换rebalance 过程中会从broker读取offset配置broker的配置autoCreateTopicEnable=false ...原创 2019-06-25 22:52:56 · 1222 阅读 · 0 评论 -
Rocketmq事务消息
事务消息分为prepared(阶段)、commited/rollback(二阶段)prepared的消息无论topic是什么,都增加到RMQ_SYS_TRANS_HALF_TOPIC 队列中,broker端处理函数为SendMessageProcessor.sendMessagebroker EndTransactionProcessor:负责事务提交回滚、producer以oneway模式...原创 2019-06-17 07:57:57 · 284 阅读 · 0 评论 -
rocketmq异步批量发送消息
关键点,自己调用batch生产消息package org.apache.rocketmq.example.batch;import java.util.ArrayList;import java.util.Collection;import java.util.List;import java.util.concurrent.CountDownLatch;import java.uti...原创 2019-06-09 21:49:07 · 2451 阅读 · 0 评论 -
RocketMq消息发送及保存(不含事务消息)
首先记录两个blog:https://www.jianshu.com/p/d0b4ac90dbcb (MappedByteBuffer VS FileChannel 孰强孰弱?)及 https://www.jianshu.com/p/a2e4e45709c4(RocketMQ 发送消息(一条消息从发送到存储的过程))DefaultMqProceducer 是除事务消息外的默认producer...原创 2019-06-09 20:55:33 · 352 阅读 · 0 评论 -
Rocketmq topic 管理及自动创建分析
rocketmq topic 信息是保存在broker 上borker会定期保存到store/config 下topics.json每次broker启动会默认创建系统级topic,其中就有TBW102,此topic的route(配置)将作为sendmessage时候未创建topic的默认route禁止自动创建topic方法:修改TBW102 PERM为0并且需要注意每个新broker增加的...原创 2019-06-08 12:06:07 · 4383 阅读 · 1 评论 -
rocketmq-broker源码分析
Rocketmq broker:master之间没有任何数据同步启动时候会读取定时保存的信息,包括topicconfig、message等数据保存主要由属性storePathRootDir及storePathCommitLog指定4.5 增加了一个fastserver,用途还没有发现可以通过使用已经存在的broker配置为基础、进行少量调整启动新brokertopic config保...原创 2019-06-07 09:19:11 · 522 阅读 · 0 评论 -
Rocketmq Admin 代码分析
Admin代码相对简单,主类为MQAdminStartup,从代码分析来看,后续应该也会支持acl,但目前Namesrv还没有acl ,因此并没有生效。Admin最终使用的也是NettyRemotingClient,注意里面部分能力不是admin需要的。,...原创 2019-05-30 22:49:25 · 214 阅读 · 0 评论 -
RocketMQ 4.5.0 namesrv 源码分析
RocketMQ 4.5.0 namesrv 源码分析:4.5.0 namesrv开始测试cluster模式,但从代码看还都带test分析代码时候有设置好Rocket-home,并将release包的conf目录放到home目录下lockback的配置是hard code在rockethome下Namesrv启动使用localaddress,因此容器化是否有问题需要结合client代码来...原创 2019-05-18 10:05:16 · 314 阅读 · 0 评论