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版:基础消息收发功能体验
本实验场景介绍消息队列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月前
|
消息中间件 存储 Java
RabbitMQ 在微服务架构中的高级应用
【8月更文第28天】在微服务架构中,服务之间需要通过轻量级的通信机制进行交互。其中一种流行的解决方案是使用消息队列,如 RabbitMQ,来实现异步通信和解耦。本文将探讨如何利用 RabbitMQ 作为服务间通信的核心组件,并构建高效的事件驱动架构。
80 2
|
16天前
|
消息中间件 弹性计算 运维
云消息队列RabbitMQ 版架构优化评测
云消息队列RabbitMQ 版架构优化评测
33 6
|
27天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
44 3
|
2月前
|
Java Docker 微服务
微服务架构的概念、特点以及如何在Java Web开发中实现微服务。
微服务架构的概念、特点以及如何在Java Web开发中实现微服务。
68 1
|
2月前
|
网络协议 Java 物联网
MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图
MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图
387 2
|
2月前
|
消息中间件 Java RocketMQ
微服务架构师的福音:深度解析Spring Cloud RocketMQ,打造高可靠消息驱动系统的不二之选!
【8月更文挑战第29天】Spring Cloud RocketMQ结合了Spring Cloud生态与RocketMQ消息中间件的优势,简化了RocketMQ在微服务中的集成,使开发者能更专注业务逻辑。通过配置依赖和连接信息,可轻松搭建消息生产和消费流程,支持消息过滤、转换及分布式事务等功能,确保微服务间解耦的同时,提升了系统的稳定性和效率。掌握其应用,有助于构建复杂分布式系统。
41 0
|
3月前
|
JSON Go C++
开发与运维C++问题之在iLogtail新架构中在C++主程序中新增插件的概念如何解决
开发与运维C++问题之在iLogtail新架构中在C++主程序中新增插件的概念如何解决
39 1
|
3月前
|
监控 Kubernetes 安全
Istio整体架构解析
【7月更文挑战第17天】Istio整体架构分为数据平面(Data Plane)和控制平面(Control Plane)两部分
|
4月前
|
Java 数据库连接 Spring
Spring底层架构核心概念总结
Spring底层架构核心概念总结
|
3月前
|
消息中间件 存储 缓存
架构设计篇问题之消息队列(MQ)在微服务系统中问题如何解决
架构设计篇问题之消息队列(MQ)在微服务系统中问题如何解决