Apache RocketMQ 从入门到实战
有些什么条件呢? 1. 扎实的 Java 基础功底 一个开源项目的底层都会涉及到存储,这就要求具备一定的数据结构基础,JAVA 集 合框架中的类自然成为了我们突破数据结构最好的老师,其次是 java 并发,即多线程、并 发容器、锁等课题,这方面可以好好学习一下 JUC 框架。最后最好是具备一些网络方面的 知识,例如 NIO、Netty。 2. 持续输出能力 成为一个开源项目的 contributions RocketMQ 开源社区的方式 接下来我们回到本节的主题,那如何参与一个开源项目呢? 在参与一个开源项目之前,我觉得第一个最基本的步骤还是要打牢基础,这里的基础至 少要包括 JAVA 集合、JAVA 并发(JUC)这两项,只是最最基本的,至少要阅读其源码, 理解其设计理念,至于 NIO,Netty 这些可以后续在需要使用时再去专门学习,有针对性 的学习,有使用需求,或许学习动力更强劲,学习效率更高效。 RocketMQ 核心概念扫盲篇 3. Client 消息客户端,包括 Producer(消息发送者)和 Consumer(消费消费者).客户端在同一 时间只会连接一台 nameserver,只有在连接出现异常时才会向尝试连接另外一台。客户 端每隔 30s 向 Nameserver 发起 topic 的路由信息查询。 温馨提示:Nameserver 是在内存中存储 Topic 的路由信息,持久化0 码力 | 165 页 | 12.53 MB | 1 年前3消息中间件RocketMQ原理解析 - 斩秋
.................................................................................... 20 四:push 消息—并发消费消息 ............................................................................................ 24 2. Broker 接收长轮询请求 3. Consumer 接收 broker 响应 长轮询活动图: 一张图画不下,再来一张 四:push 消息—并发消费消息 通过长轮询拉取到消息后会提交到消息服务 ConsumeMessageConcurrentlyService, ConsumeMessageConcurrentlyServic的sub haServerAddr,然后更新到 HAClient 当HAClient的MasterAddress不为空的时候(因为broker master 和slave都构建了HAClient) 会主动连接 master 获取 SocketChannel Master 监听 Slave 请求的端口,默认为服务端口+1 接收 slave 上传的 offset long 类型 int pos =0 码力 | 57 页 | 2.39 MB | 1 年前3RocketMQ v3.2.4 开发指南
版本补充文档 誓嘉 vintage.wang@gmail.com 2013/8/16 3 补充与规范区别 誓嘉 vintage.wang@gmail.com 2014/1/4 4 合并文档 誓嘉 vintage.wang@gmail.com 2014/11/17 5 6 7 项目开源主页:https://github.com/alibaba/RocketMQ .. 30 9.3 连接复用 .......................................................................................................................................................... 31 9.4 超时连接 ............ 返种错诨通常需要跳过返条消息,再消费其他消息,而返条失败的消息即使立刻重试消费,99%也丌成功, 所以最好提供一种定时重试机制,即过 10s 秒后再重试。 2. 由亍依赖的下游应用服务丌可用,例如 db 连接丌可用,外系统网络丌可达等。 遇到返种错诨,即使跳过当前失败的消息,消费其他消息同样也会报错。返种情冴建议应用 sleep 30s,再 消费下一条消息,返样可以减轻 Broker 重试消息的压力。0 码力 | 52 页 | 1.61 MB | 1 年前3王强-Apache RocketMQ事务消息
Apache RocketMQ 简介 • Apache RocketMQ 存储设计 Apache RocketMQ http://rocketmq.apache.org • ⾼高性能,分布式 • ⾼高并发 • 消息堆积 • Apache顶级项⽬目 发展历史 2013� Open Source Massive accumulation Orderly messaging 2014� Eventual Consistency 分布式事务解决⽅方案 XA 特点: 1. 两阶段提交 2. 仅商业化数据库⽀支持 3. ⽆无法满⾜足⾼高并发场景 分布式事务解决⽅方案 SAGA 特点: 1. 提交+补偿 2. 并发隔离性很难保证 分布式事务解决⽅方案 TCC 特点: 1. 特殊的两阶段提交 2. Try阶段检查/锁定资源 没有真正提交 3. 增加了了⼀一个状态处理理,开发变复杂 Receive message 先执⾏行行本地事务还是先发送消息? 交易易型分布式事务的 RocketMQ使⽤用场景 分布式事务解决⽅方案 半消息 远程事务 特点: 1. 稳定,⽀支持⾼高并发 2. 回查机制可靠易易⽤用 3. 不不引⼊入额外的依赖 注意:回查⽅方法需要幂等 Broker 实现细节 Producer with PID TransactionListener0 码力 | 34 页 | 6.17 MB | 1 年前3Apache RocketMQ on Amazon Web Services
个,由光环新网运营的 AMAZON WEB SERVICES(北京)区域为 2 个)。 • (*) 在公有⼦网中,允许私有⼦网中的资源(RocketMQ 实例)进⾏出站 Internet 连接的 NAT Gateway。 • (*) 在公有⼦网中,Auto Scaling 组中的允许 SSH 访问的堡垒主机。默认情况 下将 部署一台堡垒主机,此数目可配置,最多启动 4 台。通过堡垒主机访 请确保您在不同可用区中已有⾄少两个公有⼦网和三个私有⼦网。 • 确保 DHCP 选项中开启了域名选项配置集。 • 确保私有⼦网的路由表中存在 NAT 网关或 NAT 实例的路由,使得其拥有出 站 Internet 连接。 • 您必须创建堡垒主机及其关联的安全组以实现⼊站 SSH 访问 快速部署 本文的步骤主要针对在运⾏在由西云数据运营的 AMAZON WEB SERVICES(宁夏)区域 或由光环新网运营的 允许所有的外部主机访问,可以 设置为 0.0.0.0/0 Security Configuration 安全配置 11 Key Name KeyPairName 必填项 EC2 密钥对,用于连接 EC2 实 例。 Linux Bastion Configuration 堡垒机配置 Page 9 of 18 12 Bastion AMI Operating0 码力 | 18 页 | 1.55 MB | 1 年前3快速部署高可用的Apache RocketMQ 集群 - Amazon S3
马逊云科技(宁 夏)区域为 3 个,由光环新⽹运营的 亚马逊云科技(北 京)区域为 2 个)。 • (*) 在公有⼦⽹中,允许私有⼦⽹中的资源(RocketMQ 实例)进⾏出站 Internet 连接的 NAT Gateway。 • (*) 在公有⼦⽹中,Auto Scaling 组中的允许 SSH 访问的堡垒主机。默认 情况下将 部署⼀台堡垒主机,此数⽬可配置,最多启动 4 台。通过堡垒主 7 of 21 • 确保 DHCP 选项中开启了域名选项配置集。 • 确保私有⼦⽹的路由表中存在 NAT ⽹关或 NAT 实例的路由,使得其拥有 出站 Internet 连接。 • 您必须创建堡垒主机及其关联的安全组以实现⼊站 SSH 访问 快速部署 本文的步骤主要针对在运行在由西云数据运营的亚马逊云科技(宁夏)区域或由光环 新网运营的亚马逊云科技(北 Security Configuration 安全配置 Page 10 of 21 11 Key Name KeyPairName 必填项 EC2 密钥对,⽤于连接 EC2 实 例。 Linux Bastion Configuration 堡垒机配置 12 Bastion AMI Operating System BastionAMIOS0 码力 | 21 页 | 2.57 MB | 1 年前3Apache RocketMQ 介绍
到大批量实时零损失容忍交易系统。 里程碑 2012年,阿里巴巴开始开发RocketMQ,经历了数次双11核心交易链路检验。 2016年11月11日,RocketMQ又一次在阿里巴巴全球购物节上处理了1.2万亿个并发在线消息传输, 后阿里巴巴将RocketMQ捐献给Apache Incubator。 2017年9月25日 – Apache软件基金会,连同350多个开源项目的全体志愿者、开发人员、管理人员 和孵0 码力 | 5 页 | 375.48 KB | 1 年前3万亿级数据洪峰下的消息引擎Apache RocketMQ
Page Cache Disk Request Request Request Request Request Request 万级请求/秒/单机 1.4万亿 低延迟分布式存储系统 – 并发锁的开销 lReentrantLock/synchronized ØFair ØUnfair lLockSupport.unpark/park 1.4万亿 低延迟分布式存储系统 – PageCache真的那么快吗?0 码力 | 35 页 | 993.29 KB | 1 年前3万亿级数据洪峰下的消息引擎 Apache RocketMQ
Page Cache Disk Request Request Request Request Request Request 万级请求/秒/单机 1.4万亿 低延迟分布式存储系统 – 并发锁的开销 lReentrantLock/synchronized ØFair ØUnfair lLockSupport.unpark/park 1.4万亿 低延迟分布式存储系统 – PageCache真的那么快吗?0 码力 | 35 页 | 5.82 MB | 1 年前3
共 9 条
- 1