 Apache RocketMQ 从入门到实战出代码的关键入口点,如 想详细了解 NameServer 路由消息、消息发送高可用的实现原理,建议查阅笔者的书籍《 RocketMQ 技术内幕》第二、三章。 Step1:在 Broker 启动流程中,会构建 TopicConfigManager 对象,其构造方法中 首先会判断是否开启了允许自动创建主题,如果启用了自动创建主题,则向 topicConfigT able 中添加默认主题的路由信息。 名称,消息发送 topic 名称,使用的队列 数量为 DefaultMQProducer#defaultTopicQueueNums,即默认为 4。 Step4:Broker 端收到消息后的处理流程 服务端收到消息发送的处理器为:SendMessageProcessor,在处理消息发送时, 会调用 super.msgCheck 方法: AbstractSendMessageProcessor#msgCheck 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 25 > 1.2 生产环境中,autoCreateTopicEnable 为什么不能设置为 true 现象分析 经过上面自动创建路由机制的创建流程,我们可以比较容易的分析得出如下结论: 因为开启了自动创建路由信息,消息发送者根据 Topic 去 NameServer 无法得到路由 信息,但接下来根据默认 Topic 从 NameServer0 码力 | 165 页 | 12.53 MB | 1 年前3 Apache RocketMQ 从入门到实战出代码的关键入口点,如 想详细了解 NameServer 路由消息、消息发送高可用的实现原理,建议查阅笔者的书籍《 RocketMQ 技术内幕》第二、三章。 Step1:在 Broker 启动流程中,会构建 TopicConfigManager 对象,其构造方法中 首先会判断是否开启了允许自动创建主题,如果启用了自动创建主题,则向 topicConfigT able 中添加默认主题的路由信息。 名称,消息发送 topic 名称,使用的队列 数量为 DefaultMQProducer#defaultTopicQueueNums,即默认为 4。 Step4:Broker 端收到消息后的处理流程 服务端收到消息发送的处理器为:SendMessageProcessor,在处理消息发送时, 会调用 super.msgCheck 方法: AbstractSendMessageProcessor#msgCheck 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 25 > 1.2 生产环境中,autoCreateTopicEnable 为什么不能设置为 true 现象分析 经过上面自动创建路由机制的创建流程,我们可以比较容易的分析得出如下结论: 因为开启了自动创建路由信息,消息发送者根据 Topic 去 NameServer 无法得到路由 信息,但接下来根据默认 Topic 从 NameServer0 码力 | 165 页 | 12.53 MB | 1 年前3
 RocketMQ v3.2.4 开发指南7.2.1 异步刷盘 MEMORY JAVA HEAP DISK Producer Flush Asynchronously 在有 RAID 卡,SAS 15000 转磁盘测试顺序写文件,速度可以达到 300M 每秒左史,而线上的网卡一般都为千兆 网卡,写磁盘速度明显快亍数据网 MEMORY JAVA HEAP DISK Producer Flush Synchronously 同步刷盘不异步刷盘的唯一区别是异步刷盘写完 PAGECACHE 直接迒回,而同步刷盘需要等待刷盘完成才迒回, 同步刷盘流程如下: (1). 写入 PAGECACHE 后,线程等待,通知刷盘线程刷盘。 (2). 刷盘线程刷盘后,唤醒前端等待线程,可能是一批线程。 ASYNC_MASTER 异步复制 Master - SYNC_MASTER 同步双写 Master - SLAVE flushDiskType ASYNC_FLUSH 刷盘方式 - ASYNC_FLUSH 异步刷盘 - SYNC_FLUSH 同步刷盘 cleanFileForciblyEnable TRUE 磁盘满、且无过期文件情况下 TRUE 表示强制删除文件,优 先保证服务可用0 码力 | 52 页 | 1.61 MB | 1 年前3 RocketMQ v3.2.4 开发指南7.2.1 异步刷盘 MEMORY JAVA HEAP DISK Producer Flush Asynchronously 在有 RAID 卡,SAS 15000 转磁盘测试顺序写文件,速度可以达到 300M 每秒左史,而线上的网卡一般都为千兆 网卡,写磁盘速度明显快亍数据网 MEMORY JAVA HEAP DISK Producer Flush Synchronously 同步刷盘不异步刷盘的唯一区别是异步刷盘写完 PAGECACHE 直接迒回,而同步刷盘需要等待刷盘完成才迒回, 同步刷盘流程如下: (1). 写入 PAGECACHE 后,线程等待,通知刷盘线程刷盘。 (2). 刷盘线程刷盘后,唤醒前端等待线程,可能是一批线程。 ASYNC_MASTER 异步复制 Master - SYNC_MASTER 同步双写 Master - SLAVE flushDiskType ASYNC_FLUSH 刷盘方式 - ASYNC_FLUSH 异步刷盘 - SYNC_FLUSH 同步刷盘 cleanFileForciblyEnable TRUE 磁盘满、且无过期文件情况下 TRUE 表示强制删除文件,优 先保证服务可用0 码力 | 52 页 | 1.61 MB | 1 年前3
 消息中间件RocketMQ原理解析 - 斩秋................................................................................. 5 一:Producer 启动流程 .................................................................................................. ................................................................................ 14 一:consumer 启动流程 .................................................................................................. .................................................................................. 46 二:Namesrv 启动流程: .................................................................................................0 码力 | 57 页 | 2.39 MB | 1 年前3 消息中间件RocketMQ原理解析 - 斩秋................................................................................. 5 一:Producer 启动流程 .................................................................................................. ................................................................................ 14 一:consumer 启动流程 .................................................................................................. .................................................................................. 46 二:Namesrv 启动流程: .................................................................................................0 码力 | 57 页 | 2.39 MB | 1 年前3
 Apache RocketMQ 介绍Apache软件基金会,连同350多个开源项目的全体志愿者、开发人员、管理人员 和孵化项目组织,宣布Apache®RocketMQ™从Apache孵化器毕业成为顶级项目,这表明该项目的 区和产品已根据ASF的精英流程和原则得到了很好的管理。 现今,Apache RocketMQ在社区各方面的努力下,茁壮发展,很多功能都得到了加强。 RocketMQ的技术概览 在我们看来,它最大的创新点在于能够通过精巧的横0 码力 | 5 页 | 375.48 KB | 1 年前3 Apache RocketMQ 介绍Apache软件基金会,连同350多个开源项目的全体志愿者、开发人员、管理人员 和孵化项目组织,宣布Apache®RocketMQ™从Apache孵化器毕业成为顶级项目,这表明该项目的 区和产品已根据ASF的精英流程和原则得到了很好的管理。 现今,Apache RocketMQ在社区各方面的努力下,茁壮发展,很多功能都得到了加强。 RocketMQ的技术概览 在我们看来,它最大的创新点在于能够通过精巧的横0 码力 | 5 页 | 375.48 KB | 1 年前3
 rocketmq 服务部署YNC_MASTER=同步双写master,SLAVE= lave节点 brokerRole=ASYNC_MASTER # 刷盘方式,ASYNC_FLUSH=异步刷盘,SYNC_FLUSH=同步刷盘 flushDiskType=ASYNC_FLUSH # broker对外服务的监听端口 listenPort=10911 # nameServer地址,如果name server是多台集群的话,就用分号分隔 master,SYNC_MASTER=同步双写master,SLAVE= lave节点 brokerRole=SLAVE # 刷盘方式,ASYNC_FLUSH=异步刷盘,SYNC_FLUSH=同步刷盘 flushDiskType=ASYNC_FLUSH # broker对外服务的监听端口 listenPort=11011 # nameServer地址,如果name server是多台集群的话,就用分号分隔 SYNC_MASTER=同步双写master,SLAVE= lave节点 brokerRole=ASYNC_MASTER # 刷盘方式,ASYNC_FLUSH=异步刷盘,SYNC_FLUSH=同步刷盘 flushDiskType=ASYNC_FLUSH # broker对外服务的监听端口 listenPort=10911 # nameServer地址,如果name server是多台集群的话,就用分号分隔0 码力 | 11 页 | 284.35 KB | 1 年前3 rocketmq 服务部署YNC_MASTER=同步双写master,SLAVE= lave节点 brokerRole=ASYNC_MASTER # 刷盘方式,ASYNC_FLUSH=异步刷盘,SYNC_FLUSH=同步刷盘 flushDiskType=ASYNC_FLUSH # broker对外服务的监听端口 listenPort=10911 # nameServer地址,如果name server是多台集群的话,就用分号分隔 master,SYNC_MASTER=同步双写master,SLAVE= lave节点 brokerRole=SLAVE # 刷盘方式,ASYNC_FLUSH=异步刷盘,SYNC_FLUSH=同步刷盘 flushDiskType=ASYNC_FLUSH # broker对外服务的监听端口 listenPort=11011 # nameServer地址,如果name server是多台集群的话,就用分号分隔 SYNC_MASTER=同步双写master,SLAVE= lave节点 brokerRole=ASYNC_MASTER # 刷盘方式,ASYNC_FLUSH=异步刷盘,SYNC_FLUSH=同步刷盘 flushDiskType=ASYNC_FLUSH # broker对外服务的监听端口 listenPort=10911 # nameServer地址,如果name server是多台集群的话,就用分号分隔0 码力 | 11 页 | 284.35 KB | 1 年前3
 Apache RocketMQ on Amazon Web Servicesxlarge Broker 节点 EC2 实例类型 21 Apache RocketMQ flush Disk Type FlushDiskType ASYNC_FLUSH Apache RocketMQ Flush Disk 的类 型(ASYNC_FLUSH or SYNC_FLUSH) 22 Volume Size VolumeSize 400 要挂载到 RocketMQ Broker 节点的 EC2 Instance 的类 型 12 FlushDiskType FlushDiskType ASYNC_FLUSH Apache RocketMQ 的刷盘方式, 支持 ASYNC_FLUSH 和 SYNC_FLUSH 13 Iops Iops 100 如果您选择的是 io1 卷 类型,此 设置为 EBS 卷的 IOPS,否则此选 项将被忽略。0 码力 | 18 页 | 1.55 MB | 1 年前3 Apache RocketMQ on Amazon Web Servicesxlarge Broker 节点 EC2 实例类型 21 Apache RocketMQ flush Disk Type FlushDiskType ASYNC_FLUSH Apache RocketMQ Flush Disk 的类 型(ASYNC_FLUSH or SYNC_FLUSH) 22 Volume Size VolumeSize 400 要挂载到 RocketMQ Broker 节点的 EC2 Instance 的类 型 12 FlushDiskType FlushDiskType ASYNC_FLUSH Apache RocketMQ 的刷盘方式, 支持 ASYNC_FLUSH 和 SYNC_FLUSH 13 Iops Iops 100 如果您选择的是 io1 卷 类型,此 设置为 EBS 卷的 IOPS,否则此选 项将被忽略。0 码力 | 18 页 | 1.55 MB | 1 年前3
 快速部署高可用的Apache RocketMQ 集群 - Amazon S3Broker 节点 EC2 实例类型 21 Apache RocketMQ flush Disk Type FlushDiskType ASYNC_FLUS H Apache RocketMQ Flush Disk 的类型(ASYNC_FLUSH or SYNC_FLUSH) 22 Volume Size VolumeSize 400 要挂载到 12 FlushDiskTyp e FlushDiskType ASYNC_FLUS H Apache RocketMQ 的刷盘方 式,支持 ASYNC_FLUSH 和 SYNC_FLUSH 13 Iops Iops 100 如果您选择的是 io1 卷 类型, 此设置为 EBS 卷的 IOPS,否则 此选 项将被忽略。 14 NameServerC0 码力 | 21 页 | 2.57 MB | 1 年前3 快速部署高可用的Apache RocketMQ 集群 - Amazon S3Broker 节点 EC2 实例类型 21 Apache RocketMQ flush Disk Type FlushDiskType ASYNC_FLUS H Apache RocketMQ Flush Disk 的类型(ASYNC_FLUSH or SYNC_FLUSH) 22 Volume Size VolumeSize 400 要挂载到 12 FlushDiskTyp e FlushDiskType ASYNC_FLUS H Apache RocketMQ 的刷盘方 式,支持 ASYNC_FLUSH 和 SYNC_FLUSH 13 Iops Iops 100 如果您选择的是 io1 卷 类型, 此设置为 EBS 卷的 IOPS,否则 此选 项将被忽略。 14 NameServerC0 码力 | 21 页 | 2.57 MB | 1 年前3
 docker-compose 安装 RocketMQbrokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH brokerIP1=172.10.0.15 namesrvAddr=172.10.0.14:9876 autoCreateTopicEnable=true autoCreateSubscriptionGroup=true0 码力 | 3 页 | 135.58 KB | 1 年前3 docker-compose 安装 RocketMQbrokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH brokerIP1=172.10.0.15 namesrvAddr=172.10.0.14:9876 autoCreateTopicEnable=true autoCreateSubscriptionGroup=true0 码力 | 3 页 | 135.58 KB | 1 年前3
 王强-Apache RocketMQ事务消息———- MappedFile.init() producer Consumer Consumer sync async appendMessage() FileChannel.map() flush() selectMappedBuffer() • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ0 码力 | 34 页 | 6.17 MB | 1 年前3 王强-Apache RocketMQ事务消息———- MappedFile.init() producer Consumer Consumer sync async appendMessage() FileChannel.map() flush() selectMappedBuffer() • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ0 码力 | 34 页 | 6.17 MB | 1 年前3
 万亿级数据洪峰下的消息引擎Apache RocketMQcount=1 tags Page Page Page slots slots��� slots���� 阻塞锁- pagelock __set_page_dirty_buffers flush_dcache_mmap_lock __sync_single_inode try_to_unmap_one remove_from_page_cache add_to_page_cache_locked0 码力 | 35 页 | 993.29 KB | 1 年前3 万亿级数据洪峰下的消息引擎Apache RocketMQcount=1 tags Page Page Page slots slots��� slots���� 阻塞锁- pagelock __set_page_dirty_buffers flush_dcache_mmap_lock __sync_single_inode try_to_unmap_one remove_from_page_cache add_to_page_cache_locked0 码力 | 35 页 | 993.29 KB | 1 年前3
共 11 条
- 1
- 2













