王强-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 从入门到实战
有些什么条件呢? 1. 扎实的 Java 基础功底 一个开源项目的底层都会涉及到存储,这就要求具备一定的数据结构基础,JAVA 集 合框架中的类自然成为了我们突破数据结构最好的老师,其次是 java 并发,即多线程、并 发容器、锁等课题,这方面可以好好学习一下 JUC 框架。最后最好是具备一些网络方面的 知识,例如 NIO、Netty。 2. 持续输出能力 成为一个开源项目的 contributions RocketMQ 开源社区的方式 接下来我们回到本节的主题,那如何参与一个开源项目呢? 在参与一个开源项目之前,我觉得第一个最基本的步骤还是要打牢基础,这里的基础至 少要包括 JAVA 集合、JAVA 并发(JUC)这两项,只是最最基本的,至少要阅读其源码, 理解其设计理念,至于 NIO,Netty 这些可以后续在需要使用时再去专门学习,有针对性 的学习,有使用需求,或许学习动力更强劲,学习效率更高效。 量。 广播模式的消费进度文件存储在用户的主目录,默认文件全路劲名:${USER_HOM E}/.rocketmq_offsets。 4. 消费模型 RocketMQ 提供了并发消费、顺序消费两种消费模型。 并发消费:对一个队列中消息,每一个消费者内部都会创建一个线程池,对队列中的消 息多线程处理,即偏移量大的消息比偏移量小的消息有可能先消费。 顺序消费:在某一项场景,例如 MySQL0 码力 | 165 页 | 12.53 MB | 1 年前3消息中间件RocketMQ原理解析 - 斩秋
.................................................................................... 20 四:push 消息—并发消费消息 ............................................................................................ 24 2. Broker 接收长轮询请求 3. Consumer 接收 broker 响应 长轮询活动图: 一张图画不下,再来一张 四:push 消息—并发消费消息 通过长轮询拉取到消息后会提交到消息服务 ConsumeMessageConcurrentlyService, ConsumeMessageConcurrentlyServic的sub responseFuture,调用回调方法即接 口 InvokeCallback 实现 3. invokeOnewayImpl 单向请求 标记 onewayRpc 用信号量控制并发的数 //这是我对在这里用新号量控制的理解 4 scanResponseTable 由定时任务启动, 定时查看超时的缓存请求, 有 callback 的执行 callback, 让后从缓存中0 码力 | 57 页 | 2.39 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
共 6 条
- 1