【面试】rabbitmq的主要组件有哪些?

目录

          • [1. Producer(生产者)](#1. Producer(生产者))
          • [2. Broker(消息代理)](#2. Broker(消息代理))
          • [3. Exchange(交换机)](#3. Exchange(交换机))
          • [4. Queue(队列)](#4. Queue(队列))
          • [5. Consumer(消费者)](#5. Consumer(消费者))
          • [6. Binding(绑定)](#6. Binding(绑定))
          • [7. Channel(信道)](#7. Channel(信道))
          • [8. Virtual Host(虚拟主机)](#8. Virtual Host(虚拟主机))
          • [8. Plugin(插件)](#8. Plugin(插件))
1. Producer(生产者)
  • 1.负责生产消息并将其发送到RabbitMQ服务器。
  • 2.生产者将消息发送到指定的交换机(Exchange)。
2. Broker(消息代理)
  • 1.RabbitMQ服务器本身,负责接收、存储和转发消息。
  • 2.Broker内部维护着交换机、队列、绑定关系等组件。
3. Exchange(交换机)
  • 1.负责接收生产者发送的消息,并根据路由规则将消息分发到一个或多个队列。
  • 2.交换机有多种类型,如Direct、Fanout、Topic、Headers等。
4. Queue(队列)
  • 1.用于存储消息,等待消费者来拉取并处理。
  • 2.队列具有持久化、排他性、自动删除等属性。
5. Consumer(消费者)
  • 1.负责接收并处理从RabbitMQ服务器中取出的消息。
  • 2.消费者从队列(Queue)中拉取消息进行消费。
6. Binding(绑定)
  • 1.定义了交换机和队列之间的路由规则。
  • 2.通过绑定,交换机可以知道将消息发送到哪些队列。
7. Channel(信道)
  • 1.在客户端和Broker之间建立的一条TCP连接上的虚拟连接。
  • 2.信道是AMQP协议中用于发送和接收命令的轻量级连接。
  • 3.通过信道,客户端可以与Broker进行交互,如发送消息、接收消息、声明交换机和队列等。
8. Virtual Host(虚拟主机)
  • 1.提供了逻辑上的隔离,每个虚拟主机都有自己独立的交换机、队列、绑定和权限机制。
  • 2.虚拟主机类似于数据库中的数据库实例,用于隔离不同的应用或环境。
8. Plugin(插件)
  • 1.RabbitMQ支持通过插件扩展其功能,如管理界面、消息追踪、延迟队列等。
  • 2.插件可以动态加载到RabbitMQ服务器中,以提供额外的功能或优化性能。
相关推荐
韩小兔修媛史10 小时前
SpringCloud八股文面试
spring·spring cloud·面试
ShineWinsu10 小时前
对于Linux:线程局部存储(TLS)和线程封装的解析
linux·c++·面试·线程·tls·线程封装·线程局部存储
JAVA面经实录91710 小时前
高频算法面试题
java·计算机网络·算法·面试
JAVA96512 小时前
JAVA面试-JVM篇 02-G1垃圾收集器的工作原理是什么与CMS的区别
java·jvm·面试
古希腊掌管代码的神THU12 小时前
解析 MiniMax M3 多模态大模型的架构/源码?
人工智能·深度学习·自然语言处理·面试
CoderYanger12 小时前
Java EE:6.网络编程套接字(第二弹)
java·网络·程序人生·面试·职场和发展·java-ee·学习方法
橘子星13 小时前
树与二叉树:从概念到 JavaScript 实现
前端·javascript·面试
触底反弹13 小时前
面试官问"Ajax原理",我从XHR讲到async/await,他直接懵了!
前端·面试·架构
兰令水13 小时前
leecodecode【面试150】【2026.6.15打卡-java版本】
java·算法·面试
AI人工智能_电脑小能手13 小时前
【大白话说Java面试题 第106题】【并发篇】第6题:synchronized 锁的锁对象可以是什么?
java·后端·面试