rabbitmq Direct交换机简介

在实际开发中,需求可能变得复杂,如消息的收发和处理。以支付系统为例,成功支付后需要改变订单状态并通知用户,而失败则不需要。为处理这种情况,提出了使用Direct交换机,它可以根据规则将消息路由到指定队列。绑定队列时,需要约定一个暗号,以确定消息的处理对象。如果同一个队列绑定到相同的键,那么所有消息都将发送给该队列,实现了定向广播的效果。这种交换机模式更加灵活,可以根据配置实现不同的定向效果。

创建一个direct类型的交换机

创建两个队列,再绑定上Routing Key

单元测试,根据交换机和Routing Key的关键字,创建消息到消息到交换机中

交换机发现两个队列都绑定了red这个key,然后发现两个消费者都对该消息进行了消费

上图可以看到,当发送的消息key指定为blue时,只有队列1收到了消息,且只有消费者1进行处理消息

相关推荐
♛小小小让让1 小时前
RabbitMQ (二)参数
笔记·python·rabbitmq
理智的煎蛋6 小时前
基于 Celery 的分布式文件监控系统
redis·分布式·python·mysql·mongodb
失散139 小时前
分布式专题——22 Kafka集群工作机制详解
java·分布式·云原生·架构·kafka
Lansonli10 小时前
大数据Spark(六十五):Transformation转换算子groupByKey和filter
大数据·分布式·spark
拾忆,想起11 小时前
RabbitMQ死信交换机:消息的“流放之地“
开发语言·网络·分布式·后端·性能优化·rabbitmq
沐浴露z12 小时前
一篇文章入门RabbitMQ:基本概念与Java使用
java·分布式·rabbitmq
失散1312 小时前
分布式专题——24 Kafka功能扩展
java·分布式·云原生·架构·kafka
从零开始学习人工智能12 小时前
分布式 WebSocket 架构设计与实现:跨节点实时通信解决方案
分布式·websocket·网络协议
qyt198852012 小时前
Python脚本(Kafka生产者+消费者)
分布式·kafka
caibixyy1 天前
Spring Boot 整合 Redisson 实现分布式锁:实战指南
spring boot·分布式·后端