6-路由模式(Routing)

参考官方文档
rabbitmq版本:3.8.3
amqp-client版本:5.7.1

路由模式和发布订阅模式类似。

不同之处在于,发布订阅模式是将消息转发到绑定到exchange的所有queue,类似于广播;路由模式会将消息转发到与routing key匹配的那些queue

路由模式:在发布订阅模式的基础上,根据routing key有选择地转发消息到匹配的queue,这种模式叫路由模式。

路由模式是通过direct类型的exchange来实现的。

queue需要指定binding key,消息需要指定routing keyrouting keybinding key匹配,消息将会转发到匹配的queue

在这里插入图片描述

1 基于java client代码示例

1.1 引入amqp-client依赖

<dependency>
    <groupId>com.rabbitmq</groupId>
    <artifactId>amqp-client</artifactId>
    <version>5.7.1</version>
</dependency>

1.2 生产者

/**
 * 生产者
 */
public class Producer {
   

    public static final String EXCHANGE_ROUTING = "exchange-routing";

    public static final String ROUTING_KEY_RED = "routing-key-red";
    public static final String ROUTING_KEY_BLUE = "routing-key-blue";
    public static final String ROUTING_KEY_YELLOW = "routing-key-yellow";
    public static List<String> keys = null;
    static {
   
        keys = new ArrayList<>(3);
        keys.add(ROUTING_KEY_RED);
        keys.add(ROUTING_KEY_BLUE);
        keys.add(ROUTING_KEY_YELLOW);
    }

    public static void main(String[] args) {
   
        // 1、创建连接工厂
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("192.168.99.100");
        factory
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值