2.RabbitMQ相关概念

介绍

RabbitMQ是一个消息中间件,接受并转发消息。它接收、存储和转发消息数据。

四大核心概念:

1.生产者

产生数据发送消息的程序是生产者。

2.消费者

3.队列

每一个队列对应一个消费者。

如果两个消费者对应同一个队列,那么队列中的消息只有一个消费者可以收到。

4.交换机

一个交换机可以对应多个队列。交换机与队列是绑定关系。

六大模式

1.简单模式

2.工作模式

3.发布订阅模式

4.路由模式

5.主题模式

6.发布确认模式

RabbitMQ中名词解释

Broker表示接收和分发消息的应用,RabbitMQ Server就是Message Broker。

Exchange交换机

Queue队列

binding绑定,交换机与队列之间的虚拟连接,binding包含routing key, binding信息被保存在exchange的查询表中,用于message的分发依据。

Producer生产者

Consumer消费者

Channel信道(发消息的通道)

Connection连接:生产者、消费者与broker之间的TCP连接。

每个Connection连接里可以有多个信道Channel。

为什么在Connection中会有多个channel信道:

建立TCP Connection是开销巨大的,效率也低下,Channel是在Connection内部建立逻辑连接Channel,如果应用程序支持多线程,通常每个thread创建单独的channel进行通信,channel之间是完全隔离的,channel作为轻量级Connection极大的减少了操作系统建立TCP Connection的开销。

Virtual host:出于多租户和安全因素设计,把amqp的基本组件划分到一个虚拟的分组中,类似于网络中的namespace概念。当多个不同的用户使用同一个RabbitMQ server的时候,可以划分多个vhost,每个用户在自己的vhost创建exchange/queue等。

相关推荐
步行cgn4 分钟前
Spring 注入内部 Bean 详解
java·spring·rpc
user_admin_god16 分钟前
第 05 篇:结构化输出 —— 让模型稳定返回 JSON
java·人工智能·spring boot·语言模型
土司大王20 分钟前
LeetCode hot100——394.字符串解码:Java 双栈模拟
java·算法·leetcode
邪修king22 分钟前
Re:Linux系统篇(二十五):文件系统(一):磁盘硬件底层原理:从物理结构到 CHS/LBA 寻址,搞懂硬盘数据的定位逻辑
java·linux·运维·gpt
驭渊的小故事24 分钟前
Spring Boot 注解详解01
java·前端·spring boot
泡海椒25 分钟前
jquick-pdf 超详细入门教程:Java 轻量级 HTML 模板生成 PDF 工具
java·开发语言
蛋先生DX29 分钟前
Java和Go都拍胸脯说"内存我包了",可它们到底是怎么下手的?
java·go·编程语言
SimonKing31 分钟前
阅后即焚的加密便签:Cryptgeon,你口袋里的秘密信使
java·后端·程序员
ss2731 小时前
Java全栈实战 | 1.3-03 索引原理:联合索引 (a,b,c) 只查 b 走不了索引?B+ 树一图讲透所有索引玄学
java·数据库
前端初见1 小时前
Java+AI零基础入门到大牛
java·spring boot·spring·java-ee·intellij-idea