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

RabbitMq 初步认识

目录

1. 基本概念

2. RabbitMq 的工作流程

3. 协议

4. 简单的生产者, 消费者模型

4.1 我们先引入 rabbitmq 的依赖

4.2 生产者

4.3 消费者


1. 基本概念

  • Pruducer : 生产者, 产生消息
  • Consumer : 消费者, 消费消息
  • Broker : RabbitMq Server, 用来接收和发送消息
  • Connection : 是客户端和服务端的 tcp 连接, 负责传输客户端和服务端之间的所有数据和控制信息
  • Channel : 通道, 一个 Connection 可以有多个通道, 主要作用是将消息的读写操作复用到同一个 tcp 连接上, 这样可以减少建立和关闭连接的开销, 提高性能
  • Exchange : 交换机, 将消息路由到对应的 Queue
  • Queue : 队列, RabbitMq 中用来存放消息的内部对象
  • BindingKEy (PoutingKey) :  生产者在发送消息时, 会发送一个 BindingKey, 用来匹配交换机, 交换机与队列之间的绑定也是通过 BindingKey 实现的, 一个交换机可以绑定多个队列, 统一交换机可以与不同的队列进行绑定, 使用的 BindingKey 是不同的
  • Virtual host : 虚拟主机, 为消息队列提供了逻辑上的隔离机制 

2. RabbitMq 的工作流程

  1. Producer 生产了一条消息
  2. Producer 连接到 RabbitMq Broker, 建立一个连接(Connection), 开启一个信道(Channel)
  3. Producer 声明一个交换机(Exchange), 路由信息
  4. Producer 声明一个队列(Queue), 存放信息
  5. Producer 发送消息至 RabbitMq Broker
  6. RabbitMq Broker 接收消息, 并存入响应的队列(Queue)中, 如果未找到相对应的队列, 则根据生产者的配置, 选择丢弃或者回退给生产者

3. 协议

  • 使用 AMQP 协议, 是一种高级消息队列协议, AMQP 定义了一套确定的消息交换功能, 包括交换器(Exchange), 队列(Queue)等. 这些组件共同工作, 使得生产者能够将消息发送到交换器. 然后由队列接收并等待消费者接收. AMQP还定义了一个网络协议, 允许客户端应用通过该协议与消息代理和 AMQP 模型进行交互通信

4. 简单的生产者, 消费者模型

4.1 我们先引入 rabbitmq 的依赖

4.2 生产者

4.3 消费者

http://www.xdnf.cn/news/20507.html

相关文章:

  • 自动化运维之ansible
  • LwIP入门实战 — 3 LwIP的网络接口管理
  • HTB devvortex
  • 【混元AIGC+腾讯云智能体+首创Coze核心流思维导图MCP】:打造一个文思通-智能写作助手Agent
  • 深入浅出 JVM 类加载器:分类、双亲委派与打破机制
  • 使用函数调用对整形数组进行排序
  • 贪心算法在医疗影像分割中的应用详解
  • 小型磨床设计cad+三维图+设计说明书
  • 代理连接性能优化:提升网络效率的关键技术与实践
  • 表格识别技术:通过计算机视觉和OCR,实现非结构化表格向结构化数据的转换,推动数字化转型。
  • Python中不定长参数的基础使用
  • 网络基础篇---以太网链路聚合(静态LACP方式)
  • C++ 面试高频考点 LCR 137. 点名 二分查找 题解 每日一题
  • Vue 项目性能优化实战
  • 从零开始学AI——14
  • python打包工具setuptools
  • Golang中逃逸现象, 变量“何时栈?何时堆?”
  • unsloth 笔记;数据集
  • 什么是CSS
  • v0.29.2 敏感词性能优化之基本类型拆箱、装箱的进一步优化的尝试
  • 用Coze智能体工作流1分钟生成动物进化史视频,无需剪辑,附详细教程
  • 费曼学习法实例--汉诺塔
  • MCP Token超限问题解决方案
  • JDK1.8与1.9哪个好?
  • js逆向Webpack模块加载机制解析:从数组到JSONP
  • Linux 网络流量监控 Shell 脚本详解(支持邮件告警)
  • 基于FPGA的汉明码编解码器系统(论文+源码)
  • 设计模式Design Patterns:组合Composite、命令Command、策略Strategy
  • 【关于线程的一些总结】
  • 进程状态深度解析:从操作系统原理到Linux实践