RabbitMQ3.x之五_RabbitMQ中的核心概念

RabbitMQ3.x之五_RabbitMQ中的核心概念

文章目录

  • RabbitMQ3.x之五_RabbitMQ中的核心概念
  • [1. RabbitMQ简介](#1. RabbitMQ简介)
    • [1. 可互操作](#1. 可互操作)
    • [2. 灵活](#2. 灵活)
    • [3. 可靠](#3. 可靠)
  • [2. 核心概念](#2. 核心概念)
    • [1. Message(消息)](#1. Message(消息))
    • [2. Publisher(生产者)](#2. Publisher(生产者))
    • [3. Consumer(消费者)](#3. Consumer(消费者))
    • [4. Exchange(交换机)](#4. Exchange(交换机))
    • [5. Queue(队列)](#5. Queue(队列))
    • [6. Binding(绑定)](#6. Binding(绑定))
    • [7. Routing-Key(路由键)](#7. Routing-Key(路由键))
    • [8. Connection(连接)](#8. Connection(连接))
    • [9. Virtual Host(**虚拟主机**)](#9. Virtual Host(虚拟主机))
    • [10. Broker](#10. Broker)
    • [10. Broker](#10. Broker)

1. RabbitMQ简介

RabbitMQ是一个由erlang开发的AMQP(Advarved Message Queue Protocol)的开源实现.

RabbitMQ 是一个可靠且成熟的消息传递和流代理,易于部署在云环境、本地和本地计算机上。它目前被全球数百万人使用。

1. 可互操作

RabbitMQ 支持多种开放标准协议,包括 AMQP 1.0 和 MQTT 5。有多个可用的客户端库,可以与您选择的编程语言一起使用,只需选择一个即可。没有供应商锁定!

2. 灵活

RabbitMQ 提供了许多选项,您可以组合这些选项来定义消息如何从发布者传递到一个或多个使用者。路由筛选流式处理联合身份验证等,应有尽有。

3. 可靠

通过确认消息传递跨集群复制消息的功能,您可以使用 RabbitMQ 确保您的消息是安全的。

2. 核心概念

1. Message(消息)

在 RabbitMQ 中,消息是指要传递的数据单元,它由消息头和消息体构成。它可以是任何形式的数据,例如文本、JSON、XML 等等。消息由生产者发布到队列中,然后由消费者消费。消息体是不透明的,而消息头则由一系列的可选属性组成,这些属性包括routing-key(路由键)、priority(相对于其他消息的优先权)、delivery-mode(指定消息可能需要持久存性存储)等。

2. Publisher(生产者)

消息的生产者,也是一个向交换器发布消息的客户端应用程序。生产者是发送消息到队列的应用程序。它们创建消息并将其发送到队列,使其可供消费者使用

3. Consumer(消费者)

消费者是接收和处理消息的应用程序。它们从队列中获取消息,并根据业务逻辑对其进行处理。消费者可以是单个进程、线程或者是分布式系统中的一个组件。消息的消费者,表示一个从消息队列中取得消息的客户端应用程序。

4. Exchange(交换机)

交换器,用来接收生产者发送的消息并将这些消息路由给服务器中的队列。Exchange有4种类型:direct(默认),fanout,topic,和headers,不同类型的Exchange转发消息的策略有所区别

5. Queue(队列)

消息队列,用来保存消息直到消息发送给消费者。它是消息的容器,也是消息的终点。一个消息可投入一个或多个队列。消息一直在队列里,等待消费者连接到这个消息队列将其取走。

6. Binding(绑定)

绑定,用于消息队列和交换器直接的关联。一个绑定就是基于路由键将交换器和消息队列连接起来的路由规则,所以可以将交换器理解成一个由绑定构成的路由表。

Exchange 和Queue的绑定可以是多对多的关系。

7. Routing-Key(路由键)

路由键是生产者在将消息发送到交换机时附加的标识符。交换机使用路由键来决定将消息路由到哪个队列。

8. Connection(连接)

网络连接,比如一个TCP连接。

9. Virtual Host(虚拟主机)

虚拟主机是RabbitMQ 中用于隔离应用程序和数据的逻辑容器。每个虚拟主机拥有自己的一组交换机、队列和绑定,使得不同的应用程序能够在同一个 RabbitMQ 实例上独立运行而不会互相干扰。

虚拟主机,表示一批交换器、消息队列和相关对象。虚拟主机是共享相同的身份认证和加密环境的独立服务器域。每个vhost 本质上就是一个 mini版的 RabbitMQ 服务器,拥有自己的队列、交换器、绑定和权限机制。vhost 是 AMQP 概念的基础,必须在连接时指定RabbitMQ 默认的 vhost 是 /

10. Broker

表示消息队列服务器实体

在连接时指定RabbitMQ 默认的 vhost 是 /

10. Broker

表示消息队列服务器实体

相关推荐
P.H. Infinity4 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
WX187021128736 小时前
在分布式光伏电站如何进行电能质量的治理?
分布式
不能再留遗憾了9 小时前
RabbitMQ 高级特性——消息分发
分布式·rabbitmq·ruby
茶馆大橘9 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
材料苦逼不会梦到计算机白富美12 小时前
golang分布式缓存项目 Day 1
分布式·缓存·golang
想进大厂的小王12 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构
Java 第一深情12 小时前
高性能分布式缓存Redis-数据管理与性能提升之道
redis·分布式·缓存
许苑向上13 小时前
【零基础小白】 window环境下安装RabbitMQ
rabbitmq
ZHOU西口14 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
zmd-zk14 小时前
kafka+zookeeper的搭建
大数据·分布式·zookeeper·中间件·kafka