Apache RocketMQ 从入门到实战服务器,autoCreateTopicEnable 设置为 true,表示开启 Topic 自动创建,但新创建的 Topic 的路由信息只包含在其中一台 Broker 服务器上,这是为什么呢? 期望值:为了消息发送的高可用,希望新创建的 Topic 在集群中的每台 Broker 上创 建对应的队列,避免 Broker 的单节点故障。 现象截图如下: Broker 集群信息 自动创建的 topicTest5 温馨提示:消息发送者在到默认路由信息时,其队列数量,会选择 DefaultMQProdu cer#defaultTopicQueueNums 与 Nameserver 返回的的队列数取最小值,DefaultMQ Producer#defaultTopicQueueNums 默认值为 4,故自动创建的主题,其队列数量默认 为 4。 Step3:发送消息 DefaultMQProducerImpl#sendKernelImpl /apache/rocketmq/namesrv/NamesrvStar tup 设置环境变量 ROCKETMQ_HOME,操作步骤如下图所示: 设置环境变量名称:ROCKETMQ_HOME,其值用于指定 RocketMQ 运行的主目 录,笔者设置的路径为:/home/dingwpmz/tmp/rocketmq。 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 1.30 码力 | 165 页 | 12.53 MB | 1 年前3
消息中间件RocketMQ原理解析 - 斩秋第一章: producer 一:Producer 启动流程 Producer 如何感知要发送消息的 broker 即 brokerAddrTable 中的值是怎么获得的, 1. 发送消息的时候指定会指定 topic,如果 producer 集合中没有会根据指定 topic 到 namesrv 获取 topic 发布信息 TopicPublishInfo,并放入本地集合 MapedFileQueue 将多个文件组成一个连续的队列,它的存储单元是定 长为 24 个字节的数据, tranStateTableOffset 可以认为是事物状态消息的个数,索引偏移量, 它的值是 tranStateTable.getMaxOffset() / TSStoreUnitSize 2.2.4 事物回查 定时回查线程会定时扫描(默认每分钟)每个存储事务状态的表格文件, rollback: 将消费在 msgTreeMapTemp 中的消息,放回 msgTreeMap 重新消费 commit: 将临时表 msgTreeMapTemp 数据清空,代表消费完成,放回最大偏移 值 (3) 这里是个 TreeMap,对 key 即消息的 offset 进行排序,这个样可以使得消息进 行顺序消费 三: 长轮询0 码力 | 57 页 | 2.39 MB | 1 年前3
RocketMQ v3.2.4 开发指南hashcode%slotNum 得到具体的槽的位置(slotNum 是一个索引文件里面包含的最大槽的数目, 例如图中所示 slotNum=5000000)。 2. 根据 slotValue(slot 位置对应的值)查找到索引项列表的最后一项(倒序排列,slotValue 总是挃吐最新的一个 项目开源主页:https://github.com/alibaba/RocketMQ 21 索引项)。 3 hash,一次 key 的 hash 值叏模, 因此返里存在两次冲突的情冴;第一种,key 的 hash 值丌同但模数相同,此时查询的时候会在比较一次 key 的 hash 值(每个索引项保存了 key 的 hash 值),过滤掉 hash 值丌相等的项。第二种,hash 值相等但 key 丌等, 出亍性能的考虑冲突的检测放到客户端处理(key 的原始值是存储在消息文件中的,避免对数据文件的解析), namesrvAddr 返个参数可以返样配置,其他参数同理。 producer.setNamesrvAddr("192.168.0.1:9876"); 11.2.2 客户端的公共配置 参数名 默认值 说明 namesrvAddr Name Server 地址列表,多个 NameServer 地址用分号 隔开 clientIP 本机 IP 客户端本机 IP 地址,某些机器会发生无法识别客户端0 码力 | 52 页 | 1.61 MB | 1 年前3
Apache RocketMQ on Amazon Web Services海外区域部署,请使用这个链接: 配置部署参数 自定义堆栈名称后,配置必填参数选项,并且根据需求调整已有默认值的选项。以下 为详细的参数解释。两个选项除了网络配置不同以外,其他配置都是相同的。 选项 1:⽤于将 Apache RocketMQ 部署到新 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 Availability External Access CIDR RemoteAccessCIDR 必填项 允许对堡垒主机进⾏外部 SSH 访 问的 CIDR IP 范围。我们建议您 将此值设置为受信任的 IP 范 围。例如,您可能希望仅对公司 网 络 IP 段授予访问权限。如果 允许所有的外部主机访问,可以 设置为 0.0.0.0/0 Security Configuration 前缀。请不要更改此选项, 除⾮您对此启动脚本做了自定义 化并且存放到了不同的前缀目录 下。 选项 2:用于将 RocketMQ 部署到现有 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 VPC VPC 必填项 您希望部署到的已有 VPC ID(例 如, vpc0343606e)。0 码力 | 18 页 | 1.55 MB | 1 年前3
快速部署高可用的Apache RocketMQ 集群 - Amazon S3配置部署参数 ⾃定义堆栈名称后,配置必填参数选项,并且根据需求调整已有默认值的选项。以下 为详细的参数解释。两个选项除了⽹络配置不同以外,其他配置都是相同的。 选项 1:⽤于将 Apache RocketMQ 部署到新 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 Availability External Access CIDR RemoteAccessCIDR 必填项 允许对堡垒主机进⾏外部 SSH 访问的 CIDR IP 范围。我们建 议您 将此值设置为受信任的 IP 范围。例如,您可能希望仅对公 司⽹ 络 IP 段授予访问权限。如 果允许所有的外部主机访问,可 以设置为 0.0.0.0/0 Security Configuration Page 12 of 21 化并且存放到了不同的前缀⽬录 下。 选项 2:⽤于将 RocketMQ 部署到现有 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 VPC VPC 必填项 您希望部署到的已有 VPC ID (例如, vpc0343606e)。0 码力 | 21 页 | 2.57 MB | 1 年前3
rocketmq 服务部署server是多台集群的话,就用分号分隔 namesrvAddr=192.168.166.20:9876;192.168.166.206:9876 # 每个topic对应队列的数量,默认为4,实际参考consumer实例的数量,值过小不利于consumer负 均衡 defaultTopicQueueNums=8 # 是否允许broker自动创建Topic,生产建议关闭 autoCreateTopicEnable=true # server是多台集群的话,就用分号分隔 namesrvAddr=192.168.166.20:9876;192.168.166.206:9876 # 每个topic对应队列的数量,默认为4,实际参考consumer实例的数量,值过小不利于consumer负 均衡 defaultTopicQueueNums=8 # 是否允许broker自动创建Topic,生产建议关闭 autoCreateTopicEnable=true # 服务部署 namesrvAddr=192.168.166.20:9876;192.168.166.206:9876 # 每个topic对应队列的数量,默认为4,实际参考consumer实例的数量,值过小不利于consumer负 均衡 defaultTopicQueueNums=8 # 是否允许broker自动创建Topic,生产建议关闭 autoCreateTopicEnable=true #0 码力 | 11 页 | 284.35 KB | 1 年前3
共 6 条
- 1













