Rabbitmq---topics模型之动态路由

fanout广播模型,只要生产者一发送,交换机会把所有的消息发给所有的广播者。在广播模式中,++++一条消息会被所有订阅的队列都消费,但是在某种场景下,我们希望不同的消息被不同的队列消费。这时候就要用到direct的类型的交换机。++++

direct类型的的交换机,它的核心作用就是不同的消息可以被不同消费者消费,同时我们也可以让所有的消费者去消费这一个消息,++++生产者向交换机发消息,不能单纯的再发消息了,我在发消息的同时还要指定一个路由key,++++我们可以通过路由++++key++++的不同去决定我们的消息可以被哪些消费者消费。

生产者:

java 复制代码
public class Provider {
    public static void main(String[] args) throws IOException {
        Connection connection = RabbitMQUtils.getConnection();
        Channel channel = connection.createChannel();
        //通道声明指定的交换机 参数1:交换机名称 参数2:交换机类型 fanout广播类型
        // 在交换机不存在的时候创建这个logs交换机
        channel.exchangeDeclare("topics_direct","direct");
        String routingKey = "info";
        channel.basicPublish("topics_direct",routingKey,null,("这是Topics模型发布的,基于route------key").getBytes());
        RabbitMQUtils.closeConnectionAndChanel(channel,connection);
    }
}
相关推荐
badhope3 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
码云数智-园园4 小时前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
C++ 老炮儿的技术栈5 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl5 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
大阿明5 小时前
Spring Boot(快速上手)
java·spring boot·后端
Liu628885 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
bearpping5 小时前
Java进阶,时间与日期,包装类,正则表达式
java
IT猿手5 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
邵奈一5 小时前
清明纪念·时光信笺——项目运行指南
java·实战·项目
AI科技星5 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘