Rocketmq的整体认识

简介: 本文概述了RocketMQ的架构、功能特性以及与Kafka的比较,提供了对RocketMQ整体认识的深入分析。

前言

上文已经介绍了分布式消息队列的常见概念,从本文开始,将分多篇文章逐步对RocketMQ这款分布式消息队列的架构,功能,以及不同功能的源码实现原理进行分析。本文主要是介绍RocketMQ的功能,架构,加深对RocketMQ的认识。

image.png

RocketMQ是什么?

Rocketmq是由阿里巴巴2012年开源的分布式消息中间件,现在已经是apache顶级项目。他是一个队列模型的消息中间件,具有`高性能、高可靠、高实时、分布式`特点。它借鉴了kafka的实现,在kafka基础上丰富了更多的功能,并且提高了`堆积消息能力和稳定性`。Producer、Consumer、队列都可以`分布式部署`。Producer 向一些队列轮流发送消息,队列集合称为 Topic,Consumer 如果做广播消费,则一个 consumer实例消费这个 Topic 对应的所有队列,如果做集群消费,则多个 Consumer 实例平均消费这个队列集合。 

image.png

Rocketmq的组成和整体架构

    由producer,consumer,broker,namesever组成。其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息,nameserver负责topic路由信息管理。 

各个组件的部署图:

各个组件的交互图:

总结:

1、每个组成部分都可以集群部署,具备横向扩展分布式能力

2、生产者,消费者,broker都需要和nameserver保持通信,nameserver之间不通信

Rocketmq的功能和特性

1、支持顺序消息,能够保证严格的消息顺序

2、提供丰富的消息拉取模式

3、高效的订阅者水平扩展能力

4、实时的消息订阅机制

5、亿级消息堆积能力

6、较少的依赖,自己实现了nameserver,不需要像kafka一样依赖zookeeper

Rocketmq的存储结构

commitLog是文件,用于存储消息内容。

ConsumerQueue是逻辑队列,消费者和生产者都是通过consumerQueue查找到具体的commitlog再操作存取消息的。

索引文件提供查询消息的能力,可以根据消息key,时间戳查询消息

Rocketmq和Kafka的比较

下面是官网给出的对比图。

相比Kafka,RocketMQ有更多的功能(ps: 这问题面试也经常被问到)

1、支持定时消息,定时消息使用场景比较多。

2、发送消息既支持同步也支持异步

3、支持广播消费模式

4、支持可视化管理台对消息topic,broker进行管理

5、更低的延迟

6、支持消息轨迹,可以在控制台查看消息轨迹

总结

本文主要介绍Rocket的组成,架构,和kafka的功能异同,从整体上对Rocketmq的认识。后续文章将对Rocketmq的功能特性进行介绍,并对实现原理进行分析。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
2月前
|
消息中间件 存储 Kafka
MetaQ/RocketMQ 原理问题之RocketMQ DLedger融合模式的问题如何解决
MetaQ/RocketMQ 原理问题之RocketMQ DLedger融合模式的问题如何解决
|
3月前
|
消息中间件 存储 缓存
技术好文:RocketMQ之一:RocketMQ整体介绍
技术好文:RocketMQ之一:RocketMQ整体介绍
47 0
|
3月前
|
消息中间件 存储 SQL
RocketMQ与Kafka架构深度对比
RocketMQ与Kafka架构深度对比
|
4月前
|
消息中间件 Cloud Native 物联网
深度剖析 RocketMQ 5.0,消息基础:RocketMQ 在业务消息场景的基础优势是什么?
本文主要介绍业务消息的应用解耦场景,具体解耦什么? RocketMQ 在业务消息场景的基础特性。业界那么多消息队列能实现应用解耦,RocketMQ 在基础特性上有哪些增强?
125435 2
深度剖析 RocketMQ 5.0,消息基础:RocketMQ 在业务消息场景的基础优势是什么?
|
4月前
|
消息中间件 存储 Kafka
是时候基于云重新设计 Kafka 了!AutoMQ 如何实现 Kafka 十倍的降本增效
InfoQ 特别策划了此次访谈,与AutoMQ共同探讨在 Apache Kafka 和 Apache RocketMQ 领域的最新见解以及最前沿的架构设计理念,以下为专访原文。
32 0
是时候基于云重新设计 Kafka 了!AutoMQ 如何实现 Kafka 十倍的降本增效
|
消息中间件 存储 算法
解读 RocketMQ 5.0 全新的高可用设计
本文主要介绍高可用架构的演进以及RocketMQ 5.0 全新的高可用设计。
11993 22
|
消息中间件 缓存 人工智能
RocketMQ 在业务消息场景的优势详解
RocketMQ 在业务消息场景的优势详解
21811 16
|
11月前
|
消息中间件 存储 Cloud Native
RocketMQ 5.0 VS RocketMQ 4.x 变化知多少?
RocketMQ 5.0 VS RocketMQ 4.x 变化知多少?
366 0
|
消息中间件 存储 负载均衡
MQ系列3:RocketMQ 架构分析
MQ系列3:RocketMQ 架构分析
175 0
MQ系列3:RocketMQ 架构分析
|
存储 消息中间件 数据可视化
RocketMQ-存储设计
RocketMQ-存储设计
RocketMQ-存储设计