RocketMQ整体架构与基本概念

简介: RocketMQ整体架构与基本概念

RocketMQ整体架构与基本概念

RocketMQ的整体架构

RocketMQ部署架构主要分为四个部分:

  • Producer:消息生产者的角色,主要负责把消息发送到Broker,支持分布式集群方式部署。
  • Consumer:消息消费者的角色,主要负责从Broker订阅消息消费,支持分布式集群方式部署。
  • Broker:消息存储的角色,主要负责消息存储,投递和查询,以及服务高可用保证,支持分布式集群方式部署。
  • NameServer:服务管理的角色,主要负责管理Broker集群的路由信息,支持分布式集群方式部署。

NameServer是Topic路由注册中心,类似于Zookeeper,支持Broker的动态注册与发现

主要功能有:

  • 服务注册:NameServer接收Broker集群的注册信息,保存下来作为路由信息的基本数据,提供心跳检测机制,检查Broker是否还存活
  • 路由信息管理:NameServer保存Broker集群的路由信息,提供客户端查询Broker的队列信息,Producer和Consumer通过NameServer可以知道Broker集群的路由信息,从而进行消息的投递和消费。

RocketMQ的基本概念

Message:消息,系统所传输信息的物理载体,生产和消费数据的最小单位。每条消息必须属于一个Topic,RockeMQ中每条消息拥有唯一的MessageID,且可以携带具有业务标识的key

Topic:主题,表示一类消息的集合,每个主题都包含若干条消息,每条消息都只能属于一个主题,Topic是RocketMQ进行消息订阅的基本单位。

Queue:消息队列,组成Topic的最小单位。默认情况下一个Topic对应多个Queue,Topic是逻辑概念,Queue是物理存储,在Consumer消费Topic消息时底层实际拉取Queue的消息。

Tag:为消息设置的标志,用于同一主题下区分不同类型的消息。来自同一业务单元的消息,可以根据不同业务目的在同一主题下设置不同标签。消费者可以根据Tag实现不同子主题的不同消费的处理逻辑

UserProperties:用户自定义的属性集合,属于Message一部分

ProducerGroup:同一类Producer的集合,这类Producer发送同一类消息并发送逻辑一致,如果发送的是服务消息,并且原始生产者在发送之后崩溃,则Broker服务器会联系同一生产者组的其他生产者实例提交或回溯消费

ConsumerGroup:同一类Consumer的集合,这类Consumer通常消费同一类消息并且消费逻辑一致。消费者组的消费者实例必须订阅完全相同的Topic。消费者组似的消息消费方面实现负载均衡和容错机制变得很容易。

好了,这就是RocketMQ的整体架构和基本概念了,有说的不对的或者不准确的地方欢迎大家指正,不要忘了给我点个赞哦,如果你有不同的想法,可以评论留言哦。谢谢大家伙儿,我们下篇文章见面~~

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
3天前
|
缓存 前端开发 JavaScript
第三章(概念篇) 微前端架构模式
第三章(概念篇) 微前端架构模式
|
3天前
|
缓存 自然语言处理 前端开发
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述
|
4天前
|
消息中间件 存储 Apache
MQ产品使用合集之有RocketMQ arm架构的镜像吗
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
138 1
|
5天前
|
Kubernetes API 调度
Kubernetes学习-核心概念篇(二) 集群架构与组件
Kubernetes学习-核心概念篇(二) 集群架构与组件
|
5天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
5天前
|
安全 Java 数据安全/隐私保护
Spring Boot优雅实现多租户架构:概念与实战
【4月更文挑战第29天】在多租户系统中,一个应用实例服务于多个租户,每个租户享有独立的数据视图,而应用的基础设施被共享。这样的架构不仅优化了资源使用,还能降低维护和运营成本。本文将详细介绍如何在Spring Boot中实现多租户架构,并提供具体的实战案例。
44 2
|
5天前
|
消息中间件 Java RocketMQ
Spring Cloud RocketMQ:构建可靠消息驱动的微服务架构
【4月更文挑战第28天】消息队列在微服务架构中扮演着至关重要的角色,能够实现服务之间的解耦、异步通信以及数据分发。Spring Cloud RocketMQ作为Apache RocketMQ的Spring Cloud集成,为微服务架构提供了可靠的消息传输机制。
30 1
|
5天前
|
敏捷开发 运维 监控
【专栏】微服务架构,以敏捷、灵活著称,通过拆分大型应用为小型自治服务,简化开发运维
【4月更文挑战第27天】微服务架构,以敏捷、灵活著称,通过拆分大型应用为小型自治服务,简化开发运维。本文探讨其基本概念、起源,核心优势(如敏捷开发、高可伸缩性)及挑战(系统复杂度、数据一致性),并分享实施策略(服务划分、技术选型、CI/CD)与实践案例(Netflix、Uber、Spotify),展示微服务如何重塑软件开发,并成为未来复杂应用系统的基础。
|
5天前
|
存储 监控 API
【云原生系列】云计算概念与架构设计介绍
**云计算**是基于互联网的计算模式,通过共享计算资源(如服务器、存储、应用程序)提供高效、可扩展、可靠、安全和经济的服务。其架构通常包括**物理层**(服务器、存储、网络设备等基础设施)、**虚拟化层**(虚拟机、容器、虚拟网络等)、**平台层**(开发、运行时、数据库服务等)和**应用层**(企业应用、Web应用、移动应用)。云计算服务有IaaS、PaaS和SaaS,广泛应用于企业IT、开发测试、大数据处理、AI和远程办公等领域。为了确保性能和可靠性,云平台采用负载均衡、自动伸缩、备份恢复、安全措施和监控故障排除等方法。
31 1
|
1天前
|
运维 监控 Docker
使用Docker进行微服务架构的部署
【5月更文挑战第18天】本文探讨了如何使用Docker进行微服务架构部署,介绍了Docker的基本概念,如容器化平台和核心组件,以及它与微服务的关系。通过Docker,每个微服务可独立运行在容器中,便于构建、测试和部署。文章详细阐述了使用Docker部署微服务的步骤,包括定义服务、编写Dockerfile、构建镜像、运行容器、配置服务通信、监控和日志管理以及扩展和更新。Docker为微服务提供了可移植、可扩展的解决方案,是现代微服务架构的理想选择。