Apache RocketMQ 从入门到实战RocketMQ PMC Member/ committer,Linux OpenMessaging TSC Member,目前负责 RocketMQ 专有云商业化以 及开源技术生态构建。具有多年分布式系统、中间件 研究及工程经验。目前对分布式中间件、K8s、微服 务、物联网、Serverless 感兴趣。 推荐序 Apache RocketMQ 作为一款高吞吐,抗万亿消息堆积的云原生消息平台,目前已 开篇:我的另一种参与 RocketMQ 开源社区的方式 RocketMQ 为什么性能高效,到底运用了什么“厉害”的技术? RocketMQ 如何实现刷盘(可以类比一下数据库方面的刷盘、redo、undo 日志)? RocketMQ 文件存储设计理念、基于文件的 Hash 索引是怎么实现的? 定时消息、消息过滤等实现原理。 如何进行网络编程(Netty 实战)? 下定决心后便开始了我的源码分析 topic。一个 topic 可以被多个消费组订阅,同样一个消费组也可以订阅多 个主题。一个消费组拥有多个消费者。 术语解释起来有点枯燥晦涩,接下来我举例来阐述。 例如我们在开发一个订单系统,其中有一个子系统:order-service-app,在该项目 中会创建一个消费组 order_consumer 来订阅 order_topic,并且基于分布式部署, order-service-app0 码力 | 165 页 | 12.53 MB | 1 年前3
RocketMQ v3.2.4 开发指南...................................................................................... 13 6.2 文件系统 .................................................................................................. ................................................................................... 45 14.4 消费打印日志 .................................................................................................. 的多个关键特性的实现原理,幵对消息中间件遇到的各种问题迕行总结,阐述 RocketMQ 如何解决返些问题。文中主要引用了 JMS 规范不 CORBA Notification 规范,规范为我们设计系统挃明了 方吐,但是仍有丌少问题规范没有提及,对亍消息中间件又至关重要。RocketMQ 幵丌遵循任何规范,但是参考了 各种规范不同类产品的设计思想。 2 产品发展历史 大约经历了三个主要版本迭代0 码力 | 52 页 | 1.61 MB | 1 年前3
Apache RocketMQ 介绍0) Apache RocketMQ 介绍 概要 Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容 和灵活的可伸缩性。它的一个重要特性是支持非日志类型的可靠消息传送,非常适合运用在金融和电 商务领域。目前他是Apache社区的顶级项目,在全球有超过100家公司在其业务中使用RocketMQ 开源版本。 诞生 RocketMQ起源于阿里巴巴 度等特性非常赞赏。但不幸的是,Kafka不能满足他们的要求,特别是在低延迟和高可靠性方面。在 种情况下,阿里巴巴决定发明一个新的消息传递引擎来处理更广泛的用例集,从传统的发布/订阅方 到大批量实时零损失容忍交易系统。 里程碑 2012年,阿里巴巴开始开发RocketMQ,经历了数次双11核心交易链路检验。 2016年11月11日,RocketMQ又一次在阿里巴巴全球购物节上处理了1.2万亿个并发在线消息传输, 模型,具备多副本容错机制(2副本或3副本)、强大的削峰填谷以及上亿级消息堆积能力,同时可严 保证消息的有序性。除此之外,Broker还提供了同城异地容灾能力,丰富的Metrics统计以及告警机 。这些都是传统消息系统无法比拟的。 Producer由用户进行分布式部署,消息由Producer通过多种负载均衡模式发送到Broker集群,发送 延时,支持快速失败。 Consumer也由用户部署,支持PUSH和PU0 码力 | 5 页 | 375.48 KB | 1 年前3
Apache RocketMQ on Amazon Web Services0-bin-release Apache RocketMQ 的应用程 序目录 3 /home/ec2-user/rocketmq-deploy/install.log 部署脚本的安装日志,如果 有错误可以查看这个日志 4 /home/ec2-user/rocketmq-deploy/rocketmq-console-ng-1.0.0.jar Apache RocketMQ Console 0-bin-release Apache RocketMQ 的应用程 序目录 3 /home/ec2-user/rocketmq-deploy/install.log 部署脚本的安装日志,如果 有错误可以查看这个日志 4 /home/ec2-user/rocketmq-deploy/rocketMQ-config/ Apache RocketMQ Broker 程 序的配置文件,由部署脚本0 码力 | 18 页 | 1.55 MB | 1 年前3
快速部署高可用的Apache RocketMQ 集群 - Amazon S3release Apache RocketMQ 的应用 程序目录 3 /home/ec2-user/rocketmq-deploy/install.log 部署脚本的安装日志,如果 有错误可以查看这个日志 Page 16 of 21 4 /home/ec2-user/rocketmq-deploy/rocketmq-console-ng- 1.0.0 release Apache RocketMQ 的应用 程序目录 3 /home/ec2-user/rocketmq-deploy/install.log 部署脚本的安装日志,如果 有错误可以查看这个日志 4 /home/ec2-user/rocketmq-deploy/rocketMQ-config/ Apache RocketMQ Broker 程序的配置文件,由部署脚0 码力 | 21 页 | 2.57 MB | 1 年前3
万亿级数据洪峰下的消息引擎Apache RocketMQ万亿洪峰下有哪些问题 机器假死 IO Util,Load飙高 磁盘响应慢 消息大量堆积 网卡故障,甚至流量跑满 磁盘损坏 零点之战:发布消息SLA要求100% 慢请求开始大量增加 分布式系统雪崩 容量不足,单机热点 问题的本质: 可用性无限接近100% 可靠性无限接近100% 可用性 > 可靠性 1.4万亿 双十一当天高可用要求 ~~ 100% ???????????? = 02 低延迟分布式存储系统 在线熔断机制,秒级隔离 03 容量保障,限流 1.4万亿 低延迟分布式存储系统 – RocketMQ存储 Java Heap Lock Page Cache Disk Request Request Request Request Request Request 万级请求/秒/单机 1.4万亿 低延迟分布式存储系统 – 并发锁的开销 lR nized ØFair ØUnfair lLockSupport.unpark/park 1.4万亿 低延迟分布式存储系统 – PageCache真的那么快吗? 1.4万亿 低延迟分布式存储系统 – PageCache的毛刺现象分析 1.4万亿 低延迟分布式存储系统 – PageCache的毛刺现象分析 lMemory access latency issues: ØDirect reclaim0 码力 | 35 页 | 993.29 KB | 1 年前3
万亿级数据洪峰下的消息引擎 Apache RocketMQ万亿洪峰下有哪些问题 机器假死 IO Util,Load飙高 磁盘响应慢 消息大量堆积 网卡故障,甚至流量跑满 磁盘损坏 零点之战:发布消息SLA要求100% 慢请求开始大量增加 分布式系统雪崩 容量不足,单机热点 问题的本质: 可用性无限接近100% 可靠性无限接近100% 可用性 > 可靠性 1.4万亿 双十一当天高可用要求 ~~ 100% ???????????? = 02 低延迟分布式存储系统 在线熔断机制,秒级隔离 03 容量保障,限流 1.4万亿 低延迟分布式存储系统 – RocketMQ存储 Java Heap Lock Page Cache Disk Request Request Request Request Request Request 万级请求/秒/单机 1.4万亿 低延迟分布式存储系统 – 并发锁的开销 lR nized ØFair ØUnfair lLockSupport.unpark/park 1.4万亿 低延迟分布式存储系统 – PageCache真的那么快吗? 1.4万亿 低延迟分布式存储系统 – PageCache的毛刺现象分析 1.4万亿 低延迟分布式存储系统 – PageCache的毛刺现象分析 lMemory access latency issues: ØDirect reclaim0 码力 | 35 页 | 5.82 MB | 1 年前3
消息中间件RocketMQ原理解析 - 斩秋加一来实现对所有 queue 的轮询 如果入参 lastBrokerName 不为空,代表上次选择的 queue 发送失败,这次选 择应该避开同一个 queue 3) Producer 发消息系统重试: 发送失败后,重试几次 retryTimesWhenSendFailed = 2 发送消息超时 sendMsgTimeout = 3000 Producer 通过 selectOneMessageQueue 已经提供了很全面的实现, consumer 通过长轮询拉取消息后回调 MessageListener 接口实现完成消费, 应用系统只要 MessageListener 完成业务逻辑即可 2. Pull 方式:完全由业务系统去控制,定时拉取消息,指定队列消费等等, 当然这里需要 业务系统去根据自己的业务需求去实现 下面介绍默认以 push 方式为主, 因为绝大多数是由 push 消费方式来使用 propertiesLength 大小的属性数据 3) MapedFile 是 PageCache 文件封装,操作物理文件在内存中的映射以及将内存数据持久 化到物理文件中, 代码中写死了要求 os 系统的页大小为 4k, 消息刷盘根据参数 (commitLog 默认至少刷 4 页, consumeQueue 默认至少刷 2 页)才刷 以下 io 对象构建了物理文件映射内存的对象 FileChannel0 码力 | 57 页 | 2.39 MB | 1 年前3
王强-Apache RocketMQ事务消息Apache RocketMQ 事务消息 王强 (辽天) 阿⾥里里巴巴 中间件技术专家 • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ 简介 • Apache RocketMQ 存储设计 Apache RocketMQ http://rocketmq.apache.org • ⾼高性能,分布式 DefaultRequestProcessor Store Service RemotingCommand • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ 简介 • Apache RocketMQ 存储设计 存储⽂文件 - - - - - 1G - - - - - 6M - - - - - 400M FileChannel.map() flush() selectMappedBuffer() • 事务消息的演进与Apache RocketMQ的实现 • Cloud Native时代下消息系统的挑战 • Apache RocketMQ 简介 • Apache RocketMQ 存储设计 分布式事务⾯面临的挑战 分布式事务理理论 ACID 刚性事务(强⼀一致) BASE0 码力 | 34 页 | 6.17 MB | 1 年前3
rocketmq 服务部署来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) 摘自:https://zhuanlan.zhihu.com/p/226173170 rocketmq源码构建 系统:Mac OS 12.0 --- arm64 jdk版本:1.8 maven版本:3.6.3 git clone https://github.com/apache/rocketmq.git0 码力 | 11 页 | 284.35 KB | 1 年前3
共 10 条
- 1













