rocketmq 顺序消费_RocketMQ全貌解析,阿里不愧是阿里

RocketMQ是一个来自阿里巴巴的分布式消息中间件,于2012年开源,并在2017年正式成为Apache顶级项目。据了解,包括阿里云上的消息产品以及收购的子公司在内,阿里集团的消息产品全线都运行在RocketMQ之上,并且最近几年的双十一大促中,RocketMQ都有抢眼表现。

谈起消息系统中间件,就开源项目而言,户的选择其实很多,包括ActiveMQ、ZeroMQ、Kafka等。那到底RocketMQ又有什么优势?

Apache Kafka为日志处理而生,目前从社区来看,发力重点在流计算,IoT等领域,和Apache Spark Streaming,Apache Flink,Apache Storm等一站式流计算平台不同,它从Apache Samza这种轻量级方案汲取了养分,提供给用户的是一个异步编程框架, 用户基于类库编程,不需要考虑分发,部署,调度等一系列传统流计算框架带来的繁琐工作。这种轻量级的解决方案在一些日志处理, ETL等场景更受大家欢迎。

如果是应对一些高并发,可靠以及可比较苛刻的场景,Apache RocketMQ是一个不错的选择。最近留意到一个有趣的现象,国内一些中大型规模的公司普遍部署了两套消息引擎,一套选择 Apache RocketMQ脏交易,数据分发等核心链路上,一套选择Apache Kafka脏大数据等在线、离线分析链路上。无疑问,Kafka 目前在大数据生态建设这块,确实具备定的先发优势。

RocketMQ作为承载了阿里巴巴双十一万亿级数据体量的消息引擎,在电商,金融领域的优势也是比较明显的。目前,国内很多金融领域的领军企业在构建自己的分布式金融体系时,也都不约而同地选择了RocketMQ。

本学习文档可以学习到:

  • 产品发展历史
  • 专业术语
  • 消息中间件需要解决那些问题
  • RocketMQ Overview
  • RocketMQ 存储特点
  • RocketMQ 关键特性
  • RocketMQ 消息过滤
  • RocketMQ 通信组件
  • RocketMQ 服务发现(Name Server)

限于篇幅,本文只做学习文档的部分展示,正在学习RocketMQ或者有需要的朋友可以来@Java架构师丨苏先生私信【中间件】即可获取以上所有的学习资料的免费领取方式

一、前言

本学习文档旨在描述 RocketMQ 的多个关键特性的实现原理,并对消息中间件遇到的各种问题进行总结,阐述RocketMQ 如何解决这些问题。文中主要引用了 JMS 规范与 CORBA Notification 规范,规范为我们设计系统指明了方向,但是仍有不少问题规范没有提及,对于消息中间件又至关重要。RocketMQ 并不遵循任何规范,但是参考了各种规范与同类产品的设计思想。

二、产品发展历史

  • Metaq(Metamorphosis) 1.x
  • Metaq 2.x
  • RocketMQ 3.x

三、专业术语

  • Producer
  • Consumer
  • Push Consumer
  • Pull Consumer
  • Producer Group
  • Consumer Group
  • Broker
  • 广播消费
  • 集群消费
  • 顺序消息
  • 普通顺序消息
  • 严格顺序消息
  • Message Queue

四、消息中间件需要解决那些问题

本节阐述消息中间件通常需要解决哪些问题,在解决这些问题当中会遇到什么困难,RocketMQ 是否可以解决,规范中如何定义这些问题。

  • Publish/Subscribe
  • Message Priority
  • Message Order
  • Message Filter
  • Message Persistence
  • Message Reliabilty
  • Low Latency Messaging
  • At least Once
  • Exactly Only Once
  • Broker的Buffer满了怎么办?
  • 回溯消费
  • 消息堆积
  • 分布式事务
  • 定时消息
  • 消息重试

五、RocketMQ Overview

  • RocketMQ是什么?
  • RocketMQ物理部署结构
  • RocketMQ逻辑部署结构
c93aa755-9017-eb11-8da9-e4434bdf6706.png
ca3aa755-9017-eb11-8da9-e4434bdf6706.png

六、RocketMQ 存储特点

  • 零拷贝原理
  • 文件系统
  • 数据存储结构
  • 存储目录结构
  • 数据可靠性
cc3aa755-9017-eb11-8da9-e4434bdf6706.png

七、RocketMQ 关键特性

  • 单机支持1万以上持久化序列
  • 刷盘策略
  • 消息查询
  • 服务器消息过滤
  • 长轮询 Pull
  • 顺序消息
  • 事务消息
  • 发送消息负载均衡
  • 订阅消息负载均衡
  • 单队列并行消费
  • 发送定时消息
  • 消息消费失败,定时重试
  • HA,同步双鞋/异步复制
  • 单个JVM进程也能利用机器超大内存
  • 消息堆积问题解决办法
cf3aa755-9017-eb11-8da9-e4434bdf6706.png
d13aa755-9017-eb11-8da9-e4434bdf6706.png

八、RocketMQ 消息过滤

  • 简单消息过滤
  • 高级消息过滤
d63aa755-9017-eb11-8da9-e4434bdf6706.png

九、RocketMQ 通信组件

  • 网络协议
  • 心跳处理
  • 连接复用
  • 超时连接
da3aa755-9017-eb11-8da9-e4434bdf6706.png

写在最后

在分布式系统中,RocketMQ中间件是非常重要的组成,具有较高的技术门槛。同时,中间件相关的开源软件众多,适用场景各异,学习不易,对于初学者,或者正在学习RocketMQ的朋友可以来@Java架构师丨苏先生私信【中间件】即可获取以上所有的学习资料的免费领取方式

冰冻三尺非一日之寒,掌握一门技术也不是一天两天的事情,重在坚持,程序员,加油!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值