0


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

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

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

生产者:

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);
    }
}
标签: rabbitmq 分布式 java

本文转载自: https://blog.csdn.net/weixin_53676834/article/details/136638702
版权归原作者 明日春风 所有, 如有侵权,请联系我们删除。

“Rabbitmq---topics模型之动态路由”的评论:

还没有评论