中间件 | RabbitMq - [AMQP 模型]

INDEX

      • [§1 全局示意](#§1 全局示意)
      • [§2 依赖](#§2 依赖)

§1 全局示意

AMQP,即高级消息队列协议(Advanced Message Queuing Protocol),整体架构如下图

  • producer 发送消息给 rabbit mq broker
  • rabbit mq broker 分发消息给 consumer消费
  • producer/consumer 都通过 connection 与 borker 进行连接
    • AMQP 的连接是典型的长连接
    • 底层通过 TCP实现
    • connection 通过 channel 实现多路复用
      • 这是为了防止服务器同一时间维护多个 TCP 长链接,以节省系统资源
  • broker 中可能拆分多个 VHost
    • broker 的实际能力都有 VHost 对外提供
    • VHost 可以在单机中隔离多个环境,类似常见的虚拟机
    • 客户端会在连接协商时期确定要连接的 VHost
  • broker 中通过 exchange 接受消息
    • 消息的实际存储是由 queue进行的
    • 但 broker 通过 exchange 直接对接 channel
    • exchange 通过 bingding 与具体的 queue 进行绑定
      消息从 producer 发出
      消息共用同一个 connection 由 channel 多路复用的传输
      消息被 exchange 接受
      消息被 exchange 按 bingding 保存到实际的 queue
  • 消息会被 consumer 拉取
    • 消息会通过 ack 机制确认拉取成功
    • 被拉取的消息会在 broker 端删除以防止消息重复

§2 依赖

相关推荐
憧憬成为java架构高手的小白10 小时前
黑马八股--中间件学习之MQ(RabbitMQ)
学习·中间件
稚南城才子,乌衣巷风流17 小时前
RabbitMQ 消息队列:从入门到实战
分布式·rabbitmq
weixin_727535622 天前
MinIO大文件上传深度拆解:从原理到生产落地的完整指南
java·中间件
过期动态2 天前
【LeetCode 热题 100】找到字符串中所有字母异位词
java·数据结构·算法·leetcode·职场和发展·rabbitmq
jieyucx2 天前
Nuxt4阶段六:工程化与进阶 —— 模块、中间件、插件、TS 与测试
中间件·vue·web·nuxt·全栈·ssr
霸道流氓气质4 天前
SpringBoot中集成阿里云消息队列 ApsaraMQ for RabbitMQ 全面指南
spring boot·阿里云·java-rabbitmq
YDS8294 天前
大营销平台 —— 活动SKU库存扣减业务及其一致性处理
java·spring boot·redis·rabbitmq·ddd
霸道流氓气质4 天前
Kiro 中配置 RabbitMQ MCP Server 指南
分布式·rabbitmq·ruby
索西引擎4 天前
【React】Redux 中间件机制:副作用处理与数据流增强的形式化分析
前端·react.js·中间件
糖果店的幽灵4 天前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents