 Apache RocketMQ on Amazon Web Services部署一个基于 EC2 的高可用的 RocketMQ 集群。 架构 AMAZON CloudFormation 提供了一种创建和管理相关 AMAZON WEB SERVICES 资源的简 便方法,并通过有序 且可预测的方式进⾏资源配置和更新。本快速⼊⻔提供两种部署 选项,一种是将 Apache RocketMQ 部署到新 VPC 环境中,另一种是 部署到已有 VPC 环 境中。使用默认参数为在新 Instance 中选择一个作 为 Master 继续提供服务从而达到高可用的效果,下图是部署完的一个架构实例图 Page 4 of 18 • (*) 跨越多个可用区的公有⼦网和私有⼦网的 VPC(由西云数据运营的 AMAZON WEB SERVICES(宁 夏)区域为 3 个,由光环新网运营的 AMAZON WEB SERVICES(北京)区域为 2 个)。 Amazon EBS 存储的⼤⼩。快速⼊⻔将把副 本集启动在在不同的可用 区中。如果您选择的 AMAZON WEB SERVICES 区域 Page 5 of 18 为由光环新网运营的 AMAZON WEB SERVICES(北京)区域,因其对外 提供 2 个可用区,本解决方案将重复使用其中一个可用区来创建第三个⼦网。 部署说明 1. 此方案仅针对使用由西云数据运营的0 码力 | 18 页 | 1.55 MB | 1 年前3 Apache RocketMQ on Amazon Web Services部署一个基于 EC2 的高可用的 RocketMQ 集群。 架构 AMAZON CloudFormation 提供了一种创建和管理相关 AMAZON WEB SERVICES 资源的简 便方法,并通过有序 且可预测的方式进⾏资源配置和更新。本快速⼊⻔提供两种部署 选项,一种是将 Apache RocketMQ 部署到新 VPC 环境中,另一种是 部署到已有 VPC 环 境中。使用默认参数为在新 Instance 中选择一个作 为 Master 继续提供服务从而达到高可用的效果,下图是部署完的一个架构实例图 Page 4 of 18 • (*) 跨越多个可用区的公有⼦网和私有⼦网的 VPC(由西云数据运营的 AMAZON WEB SERVICES(宁 夏)区域为 3 个,由光环新网运营的 AMAZON WEB SERVICES(北京)区域为 2 个)。 Amazon EBS 存储的⼤⼩。快速⼊⻔将把副 本集启动在在不同的可用 区中。如果您选择的 AMAZON WEB SERVICES 区域 Page 5 of 18 为由光环新网运营的 AMAZON WEB SERVICES(北京)区域,因其对外 提供 2 个可用区,本解决方案将重复使用其中一个可用区来创建第三个⼦网。 部署说明 1. 此方案仅针对使用由西云数据运营的0 码力 | 18 页 | 1.55 MB | 1 年前3
 RocketMQ v3.2.4 开发指南的一种,应用通常吐 Consumer 对象注册一个 Listener 接口,一旦收到消息,Consumer 对象立 刻回调 Listener 接口方法。  Pull Consumer Consumer 的一种,应用通常主劢调用 Consumer 的拉消息方法从 Broker 拉消息,主劢权由应用控制。  Producer Group 一类 Producer 的集合名称,返类 Producer 同步刷盘 MEMORY JAVA HEAP DISK Producer Flush Synchronously 同步刷盘不异步刷盘的唯一区别是异步刷盘写完 PAGECACHE 直接迒回,而同步刷盘需要等待刷盘完成才迒回, 同步刷盘流程如下: (1). 写入 PAGECACHE 后,线程等待,通知刷盘线程刷盘。 (2). 刷盘线 com/alibaba/RocketMQ 40 12.3 Broker 重启对客户端的影响 Broker 重启可能会导致正在収往返台机器的的消息収送失败,RocketMQ 提供了一种优雅关闭 Broker 的方法,通过 执行以下命令会清除 Broker 的写权限,过 40s 后,所有客户端都会更新 Broker 路由信息,此时再关闭 Broker 就丌 会収生収送消息失败的情冴,因为所有消息都収往了其他0 码力 | 52 页 | 1.61 MB | 1 年前3 RocketMQ v3.2.4 开发指南的一种,应用通常吐 Consumer 对象注册一个 Listener 接口,一旦收到消息,Consumer 对象立 刻回调 Listener 接口方法。  Pull Consumer Consumer 的一种,应用通常主劢调用 Consumer 的拉消息方法从 Broker 拉消息,主劢权由应用控制。  Producer Group 一类 Producer 的集合名称,返类 Producer 同步刷盘 MEMORY JAVA HEAP DISK Producer Flush Synchronously 同步刷盘不异步刷盘的唯一区别是异步刷盘写完 PAGECACHE 直接迒回,而同步刷盘需要等待刷盘完成才迒回, 同步刷盘流程如下: (1). 写入 PAGECACHE 后,线程等待,通知刷盘线程刷盘。 (2). 刷盘线 com/alibaba/RocketMQ 40 12.3 Broker 重启对客户端的影响 Broker 重启可能会导致正在収往返台机器的的消息収送失败,RocketMQ 提供了一种优雅关闭 Broker 的方法,通过 执行以下命令会清除 Broker 的写权限,过 40s 后,所有客户端都会更新 Broker 路由信息,此时再关闭 Broker 就丌 会収生収送消息失败的情冴,因为所有消息都収往了其他0 码力 | 52 页 | 1.61 MB | 1 年前3
 Apache RocketMQ 从入门到实战的学习,有使用需求,或许学习动力更强劲,学习效率更高效。 当具备一定的基础后,如何从零开始参与进开源项目呢?通常有如下几个方法:  看看官方文档,特别是设计手册,从整体上把握其设计理念。  写写源码分析类文章,从整体上把控这个框架,这个花费时间较多,如果框架正在起步。 阶段,不建议该方法;如果框架比较成熟,非常建议采用该方法。  尝试看看开源项目中的 issues,看能不能解决,从问题入手,快速融入该项目。  技术内幕》第二、三章。 Step1:在 Broker 启动流程中,会构建 TopicConfigManager 对象,其构造方法中 首先会判断是否开启了允许自动创建主题,如果启用了自动创建主题,则向 topicConfigT able 中添加默认主题的路由信息。 TopicConfigManager 构造方法: 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 21 > 1.2 生产环境中 认为 4。 Step4:Broker 端收到消息后的处理流程 服务端收到消息发送的处理器为:SendMessageProcessor,在处理消息发送时, 会调用 super.msgCheck 方法: AbstractSendMessageProcessor#msgCheck 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 1.2 生产环境中,autoCreateTopicEnable0 码力 | 165 页 | 12.53 MB | 1 年前3 Apache RocketMQ 从入门到实战的学习,有使用需求,或许学习动力更强劲,学习效率更高效。 当具备一定的基础后,如何从零开始参与进开源项目呢?通常有如下几个方法:  看看官方文档,特别是设计手册,从整体上把握其设计理念。  写写源码分析类文章,从整体上把控这个框架,这个花费时间较多,如果框架正在起步。 阶段,不建议该方法;如果框架比较成熟,非常建议采用该方法。  尝试看看开源项目中的 issues,看能不能解决,从问题入手,快速融入该项目。  技术内幕》第二、三章。 Step1:在 Broker 启动流程中,会构建 TopicConfigManager 对象,其构造方法中 首先会判断是否开启了允许自动创建主题,如果启用了自动创建主题,则向 topicConfigT able 中添加默认主题的路由信息。 TopicConfigManager 构造方法: 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 21 > 1.2 生产环境中 认为 4。 Step4:Broker 端收到消息后的处理流程 服务端收到消息发送的处理器为:SendMessageProcessor,在处理消息发送时, 会调用 super.msgCheck 方法: AbstractSendMessageProcessor#msgCheck 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 1.2 生产环境中,autoCreateTopicEnable0 码力 | 165 页 | 12.53 MB | 1 年前3
 快速部署高可用的Apache RocketMQ 集群 - Amazon S3Instance 中选择一个作为 Master 继续提供服务从而达到高可用的效果,下图是部署完的一个架构实例图 Page 4 of 21 • (*) 跨越多个可⽤区的公有⼦⽹和私有⼦⽹的 VPC(由西云数据运营的 亚 马逊云科技(宁 夏)区域为 3 个,由光环新⽹运营的 亚马逊云科技(北 京)区域为 2 个)。 • (*) 在公有⼦⽹中,允许私有⼦⽹中的资源(RocketMQ RocketMQ 群集,还 可以⾃定义 Amazon EBS 存储的⼤⼩。快速⼊⻔将 把副本集启动在在不同的可⽤ 区中。如果您选择的 AMAZON WEB SERVICES 区域为由光环新⽹运营的 亚马逊云科技(北京)区域,因其对 外 提供 2 个可⽤区,本解决方案将重复使⽤其中⼀个可⽤区来创建第三个 ⼦⽹。 部署说明 1. 此⽅案仅针对使⽤由西云数据运营的 亚马逊云科技(宁夏)区域或由光环新⽹ 21 4. 请通过右上⻆区域选择按钮选择您的⽬标区域。 5. 如果您要将 RocketMQ 部署到现有 VPC,请注意下列注意事项: • 请确保您在不同可⽤区中已有⾄少两个公有⼦⽹和三个私有⼦⽹。 Page 7 of 21 • 确保 DHCP 选项中开启了域名选项配置集。 • 确保私有⼦⽹的路由表中存在 NAT ⽹关或0 码力 | 21 页 | 2.57 MB | 1 年前3 快速部署高可用的Apache RocketMQ 集群 - Amazon S3Instance 中选择一个作为 Master 继续提供服务从而达到高可用的效果,下图是部署完的一个架构实例图 Page 4 of 21 • (*) 跨越多个可⽤区的公有⼦⽹和私有⼦⽹的 VPC(由西云数据运营的 亚 马逊云科技(宁 夏)区域为 3 个,由光环新⽹运营的 亚马逊云科技(北 京)区域为 2 个)。 • (*) 在公有⼦⽹中,允许私有⼦⽹中的资源(RocketMQ RocketMQ 群集,还 可以⾃定义 Amazon EBS 存储的⼤⼩。快速⼊⻔将 把副本集启动在在不同的可⽤ 区中。如果您选择的 AMAZON WEB SERVICES 区域为由光环新⽹运营的 亚马逊云科技(北京)区域,因其对 外 提供 2 个可⽤区,本解决方案将重复使⽤其中⼀个可⽤区来创建第三个 ⼦⽹。 部署说明 1. 此⽅案仅针对使⽤由西云数据运营的 亚马逊云科技(宁夏)区域或由光环新⽹ 21 4. 请通过右上⻆区域选择按钮选择您的⽬标区域。 5. 如果您要将 RocketMQ 部署到现有 VPC,请注意下列注意事项: • 请确保您在不同可⽤区中已有⾄少两个公有⼦⽹和三个私有⼦⽹。 Page 7 of 21 • 确保 DHCP 选项中开启了域名选项配置集。 • 确保私有⼦⽹的路由表中存在 NAT ⽹关或0 码力 | 21 页 | 2.57 MB | 1 年前3
 Apache RocketMQ 介绍2017年9月25日 – Apache软件基金会,连同350多个开源项目的全体志愿者、开发人员、管理人员 和孵化项目组织,宣布Apache®RocketMQ™从Apache孵化器毕业成为顶级项目,这表明该项目的 区和产品已根据ASF的精英流程和原则得到了很好的管理。 现今,Apache RocketMQ在社区各方面的努力下,茁壮发展,很多功能都得到了加强。 RocketMQ的技术概览 在我们看来,它最大的0 码力 | 5 页 | 375.48 KB | 1 年前3 Apache RocketMQ 介绍2017年9月25日 – Apache软件基金会,连同350多个开源项目的全体志愿者、开发人员、管理人员 和孵化项目组织,宣布Apache®RocketMQ™从Apache孵化器毕业成为顶级项目,这表明该项目的 区和产品已根据ASF的精英流程和原则得到了很好的管理。 现今,Apache RocketMQ在社区各方面的努力下,茁壮发展,很多功能都得到了加强。 RocketMQ的技术概览 在我们看来,它最大的0 码力 | 5 页 | 375.48 KB | 1 年前3
 消息中间件RocketMQ原理解析 - 斩秋messageQueueList //Topic_A 的所有的队列 --AtomicInteger sendWhichQueue //自增整型 方法 selectOneMessageQueue 方法用来选择一个发送队列 (++sendWitchQueue) % messageQueueList.size 为队列集合的下标 每次获取 queue 发送失败后,重试几次 retryTimesWhenSendFailed = 2 发送消息超时 sendMsgTimeout = 3000 Producer 通过 selectOneMessageQueue 方法获取一个 MessagQueue 对象 --topic //Topic_A --brokerName //代表发送消息到达的 broker --queueId broker 发送一条 prepared 的消息,返回消息的 offset 即消息地址 commitLog 中消息偏移量。Prepared 状态消息不被消费 发送消息 ok,执行本地事物分支, 本地事物方法需要实现 rocketmq 的回调接口 2)2) 2) LocalTransactionExecuter , 处 理 本 地 事 物 逻 辑 返 回 处 理 的 事 物 状 态 LocalTransactionState0 码力 | 57 页 | 2.39 MB | 1 年前3 消息中间件RocketMQ原理解析 - 斩秋messageQueueList //Topic_A 的所有的队列 --AtomicInteger sendWhichQueue //自增整型 方法 selectOneMessageQueue 方法用来选择一个发送队列 (++sendWitchQueue) % messageQueueList.size 为队列集合的下标 每次获取 queue 发送失败后,重试几次 retryTimesWhenSendFailed = 2 发送消息超时 sendMsgTimeout = 3000 Producer 通过 selectOneMessageQueue 方法获取一个 MessagQueue 对象 --topic //Topic_A --brokerName //代表发送消息到达的 broker --queueId broker 发送一条 prepared 的消息,返回消息的 offset 即消息地址 commitLog 中消息偏移量。Prepared 状态消息不被消费 发送消息 ok,执行本地事物分支, 本地事物方法需要实现 rocketmq 的回调接口 2)2) 2) LocalTransactionExecuter , 处 理 本 地 事 物 逻 辑 返 回 处 理 的 事 物 状 态 LocalTransactionState0 码力 | 57 页 | 2.39 MB | 1 年前3
 王强-Apache RocketMQ事务消息交易易型分布式事务的 RocketMQ使⽤用场景 分布式事务解决⽅方案 半消息 远程事务 特点: 1. 稳定,⽀支持⾼高并发 2. 回查机制可靠易易⽤用 3. 不不引⼊入额外的依赖 注意:回查⽅方法需要幂等 Broker 实现细节 Producer with PID TransactionListener executeLocalTransaction() checkLocalTransaction()0 码力 | 34 页 | 6.17 MB | 1 年前3 王强-Apache RocketMQ事务消息交易易型分布式事务的 RocketMQ使⽤用场景 分布式事务解决⽅方案 半消息 远程事务 特点: 1. 稳定,⽀支持⾼高并发 2. 回查机制可靠易易⽤用 3. 不不引⼊入额外的依赖 注意:回查⽅方法需要幂等 Broker 实现细节 Producer with PID TransactionListener executeLocalTransaction() checkLocalTransaction()0 码力 | 34 页 | 6.17 MB | 1 年前3
共 7 条
- 1













