当前位置: 首页 > news >正文

RocketMQ教程(三):RocketMQ的核心组件

四个核心组件

RocketMQ 的架构采用了典型的分布式系统设计理念,以确保高性能、高可用和可扩展性。RocketMQ 主要由四个核心组件构成:NameServer、Broker、Producer 和 Consumer。下面是对这些组件以及它们在 RocketMQ 中的角色和功能的概述:

1. NameServer

  • 角色和功能:NameServer 负责维护整个消息队列系统中 Broker 的路由信息,提供轻量级的服务发现和路由功能。每个 Broker 启动时会向所有 NameServer 注册自己的路由信息,Producer 和 Consumer 通过查询 NameServer 来获取 Broker 的地址信息。
  • 设计理念:通过提供一个几乎无状态的轻量级服务,RocketMQ 的 NameServer 能够轻松实现集群和负载均衡,同时避免成为系统瓶颈。

2. Broker

  • 角色和功能:Broker 是消息处理的核心,负责消息的存储、传输、和检索。它支持长期存储、高性能和高并发的消息处理。Broker 可以按主题对消息进行分类存储,并支持顺序和非顺序消息。
  • 设计理念:为了保证高性能和数据的可靠性,Broker 设计了多层消息存储结构,支持快速的消息写入和消费。同时,它支持主从复制机制,确保高可用。

3. Producer

  • 角色和功能:Producer 负责生产发布消息到 Broker。它首先从 NameServer 查询 Broker 的路由信息,然后根据负载均衡算法选择一个或多个 Broker 发送消息。
  • 设计理念:通过高效的网络通讯和负载均衡策略,Producer 能够实现快速和可靠地消息发送。

4. Consumer

  • 角色和功能:Consumer 负责从 Broker 订阅和消费消息。它支持拉(Pull)和推(Push)两种模式来获取消息,提供灵活的消费处理方式。
  • 设计理念:Consumer 的设计支持高效的消息拉取和自动消费偏移管理,确保消息的准确处理。同时,支持集群消费和广播消费两种模式,以满足不同的应用需求。

架构图

由此可见 NameServer、Broker、Producer、Consumer 都可以搭建成集群部署,并且 Broker 还能搭建主从集群!

消息(Message)

http://www.lryc.cn/news/366748.html

相关文章:

  • 46.SQLserver中按照多条件分组:查询每个地方的各种水果的种植数量,新增时,一个地方同时有几种水果,只插入一条记录,同时多种水果之间使用|隔开
  • C盘满了怎么办,Windows11的C盘没有磁盘清理选项怎么办,一次搞定
  • 「动态规划」当小偷改行去当按摩师,会发生什么?
  • Python | 排队取奶茶
  • mysql当前状态分析(show status)
  • Google Earth Engine(GEE)——使用机器学习进行金三角大米分布图
  • MyBatis一级和二级缓存介绍
  • PowerDesigner遍历导出所有表结构到Excel
  • JavaSE——抽象类和接口
  • 生成式人工智能 - stable diffusion web-ui安装教程
  • 11-Linux文件系统与日志分析
  • mac M1下安装PySide2
  • 超详解——识别None——小白篇
  • C++的MQTT开发:使用Paho的C++接口实现消息发布、订阅、连接RabbitMQ
  • 深度网络学习笔记(二)——Transformer架构详解(包括多头自注意力机制)
  • Python 快速查找并替换Excel中的数据
  • KafkaStream Local Store和Global Store区别和用法
  • PowerDesigner导入Excel模板生成数据表
  • STM32 HAL库开发——入门篇(3):OLED、LCD
  • 在Linux中查找文件命令的几种方法
  • 【TB作品】MSP430F5529 单片机,温度控制系统,DS18B20,使用MSP430实现的智能温度控制系统
  • 立创小tips
  • Html/HTML5常用标签的学习
  • Tomcat 配置:一文掌握所有要点
  • git 大文件上传失败 Please remove the file from history and try again.
  • 骑砍2霸主MOD开发(14)-进击的巨人
  • Android 可拖拽的View,限制在父布局中随意拖拽;拖拽结束后可左右吸边;
  • 逐步更新动画混合参数(Blend)使其平滑地过渡到目标值
  • 【多模态/CV】图像数据增强数据分析和处理
  • 代码随想录——修建二叉搜素树(Leetcode669)