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

RabbitMQ的简介

三个概念

  1. 生产者:生产消息的服务
  2. 消息代理:消息中间件,如RabbitMQ
  3. 消费者:获取使用消息的服务

消息队列到达消费者的两种形式

  1. 队列(queue):点对点消息通信(point-to-point)

    消息进入队列,消费者监听队列,一旦有消息则获取消息,消息被获取后移除队列。
    队列可以被多个消费者监听,但是只有一个可以获取。

  2. 主题(topic):发布(publish)/订阅(subscribe)消息通信|

    发布者(生产者)发送消息到主题,多个订阅者(消费者)订阅(监听)这个主题,则在消息到达的同时就会同时得到消息

在这里插入图片描述

两种常见的消息中间件协议

  1. JMA:(Java Message Servier) Java 消息服务
    -基于JVM消息代理规范。ActiveMQ、HornetMQ是JMS实现

  2. AMQP:(Advanced Message Queuing Protocol)
    -高级消息队列协议,兼容JMS
    -RabbitMQ是AMOP的实现。

    主要区别JMSAMOP
    跨语言
    跨平台
    model1) point-to-point 点对点
    2)topic 主题
    1)direct exchange(直接交换机)—点对点
    2)fanout exchange
    3)topic exchange

交换机类型

direct(直接)、fanout(扇出)、topic(主题)、headers

direct

路由键需要与binding全匹配才行

在这里插入图片描述

fanout–广播模式

不处理绑定和路由键,收到消息直接全部发送,类似广播

在这里插入图片描述

topic

需要绑定关系(binding)和路由键(routing key)按一定规则匹配,路由键和绑定关系分割成单词,单词间用".“隔开。同时会识别两个通配符”#“和”*“。”#"匹配0个或多个单词 "*"匹配一个单词

在这里插入图片描述

RabbitMQ的执行流程

生产者:建立一个长连接,通过连接里面的信道发送消息-指定哪一个交换机。

消息message:头+体:消息头中有一个很重要的路由键 (Routing Key)

RabbitMQ:消息到达中间件,服务器会交给交换机(exchange),交换机会根据消息中的路由键(routing key)去寻找对应的绑定关系(binding),然后消息入队。

**消费者:**建立一个长连接,每个长连接会有很多信道。每个信道用来监听队列

在这里插入图片描述

消息确认机制

confirmCallback:消息达到消息服务(broker),就会执行。集群模式下,要被所有的代理都接受到才会执行。

returnCallback:交换机到队列投递失败后执行。

ack:消费者获取消息后自动确认,服务端会删除这个消息。需改为手动确认。否则宕机后会消息丢失。调用channel.basicAck()方法签收

在这里插入图片描述

相关文章:

  • C 语言学习笔记(函数2)
  • AI在网络安全中的应用之钓鱼邮件检测
  • Python列表 vs 元组:全面对比解析(新手友好版)
  • MYSQL8.0常用窗口函数
  • input组件使用type=“number“的时候,光标自动跳到首位
  • 【Tools】VMware Workstation 17.6 Pro安装教程
  • 在 CentOS 7.9 上部署 node_exporter 并接入 Prometheus + Grafana 实现主机监控
  • PyMOL命令行和脚本
  • 精益数据分析(70/126):MVP迭代中的数据驱动决策与功能取舍
  • AI神经网络降噪 vs 传统单/双麦克风降噪的核心优势对比
  • 公网ip是固定的吗?动态ip如何做端口映射?内网ip怎么让外网远程访问?
  • 组态王通过开疆智能profinet转ModbusTCP网关连接西门子PLC配置案例
  • 学习BI---QuickBI介绍
  • ngx_http_scgi_module 技术指南
  • 问题 | 代码审查:函数是否包含返回语句
  • 调研函模板可参考,以无人机职业技能调研为例
  • 开源表单设计器FcDesigner配置多语言教程
  • 2024年ASOC SCI2区TOP,多机制群优化算法+多风场输电线路巡检中多无人机任务分配与路径规划,深度解析+性能实测
  • Easy PLC和IT7000触摸屏的无实物仿真调试
  • Rust 学习笔记:关于错误处理的练习题
  • “十五五”时期长三角需创新机制,形成高水平一体化合作路径
  • 上千螺母引发的枪支散件案:五金厂老板的儿子被诉,律师作无罪辩护
  • 媒体报道一民企投资400万运营出租车4年未获批,广西隆林县回应
  • 国家统计局:1-4月份,全国固定资产投资同比增长4.0%
  • 上海将建设万兆小区、园区及工厂,为模型训练数据的传输提供硬件支持
  • 15年全程免费,内蒙古准格尔旗实现幼儿园到高中0学费