RabbitMQ 基础 学习笔记1

RabbitMQ架构

虚拟主机(vhost):一个"用户"只能操作属于自己的虚拟主机里的交换机和队列,起到了数据隔离的作用。

MQ(消息队列)技术对比

交换机

绝大多数情况下,消息传递过程是:生产者->交换机->队列->消费者

Fanout交换机

消费者(指定交换机 )->Fanout交换机->广播到所有(与Fanout绑定的)队列

Direct交换机和Topic交换机

消费者(指定交换机+bindingkey )->Direct交换机->定向到所有(与Direct交换机绑定+bindingkey匹配的)队列

消费者(指定交换机+bindingkey )->Topic交换机->定向到所有(与Topic交换机绑定+bindingkey匹配的)队列

对比一下Direct交换机和Topic交换机

消费者(指定交换机+bindingkey)->Direct交换机->定向到所有(与Direct交换机绑定+bindingkey匹配的)队列

消费者(指定交换机+bindingkey)->Topic交换机->定向到所有(与Topic交换机绑定+bindingkey匹配的)队列

是不是一摸一样?是的,那总该得有区别吧?区别在于:

Direct 交换机bindingkey完全精确匹配,无通配符支持

Topic 交换机bindingkey模糊匹配 ,支持两种通配符:1. *:匹配一个. 分隔的单词

  1. #:匹配零个或多个. 分隔的单词

声明交换机和队列

在控制台手动声明

RabbitMQ 的控制台官方名称是 RabbitMQ Management UI(也常简称为「RabbitMQ 管理控制台」「RabbitMQ 管理界面」),是 RabbitMQ 官方提供的可视化管理工具。

访问方式 :启动RabbitMQ服务后,默认通过浏览器访问 http://[RabbitMQ服务器IP]:15672(默认端口 15672),需输入 RabbitMQ 的用户名 / 密码(默认管理员账号:guest/guest,仅本地访问有效)。

在代码中自动化声明(以Java为例)

配置类中声明交换机、队列、绑定(Fanout无此):

注释声明:

在消费者方法上加上注释

消息转换器

生产者与消费者之间的交换机、队列里面装的消息是序列化后的信息,生产者要通过消息转换器把原始数据转换成交换机、队列之间的消息,消费者要通过消息转换器将接收到的消息转换成原始数据。

JDK序列化

JSON序列化

RabbitMQ进阶 学习笔记2:RabbitMQ 进阶 学习笔记2-CSDN博客

相关推荐
具身AGI19 小时前
视频即仿真,物理AI 人类学习路线 的下一步
人工智能·学习
wuyk55520 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
陈年老古董21 小时前
PyTorch食物图像分类实战:从数据集制作到CNN模型训练全流程详解
pytorch·深度学习·学习·机器学习·分类·cnn
明志数科21 小时前
从300克Ego头环看第一人称数据采集趋势:设备轻量化之后,场景端壁垒在哪
数码相机·学习
笨鸟先飞的橘猫21 小时前
系统设计第十七天决策卡
学习·游戏
Sunshing151 天前
Lyapunov方程系统本身稳定性判定与镇定性判定
笔记·学习
透明的玻璃杯1 天前
热键驱动 Hotkey Features Integration v9.x(14MB)
笔记
sunoo-2291 天前
51单片机学习Day2:数码管动态扫描、定时器与中断系统深度总
单片机·嵌入式硬件·学习·51单片机
宣宣猪的小花园.1 天前
【机器学习】从机理建模到数据学习:机器学习究竟替代了什么
人工智能·学习·机器学习
上海心泾国际物流有限公司1 天前
我在几个医疗器械仓库记下的一组温湿度数据
经验分享·笔记·学习·健康医疗·交通物流