Rabbitmq队列模式总结

1.整体图示

由上图可以知道交换机的类型有:扇形、直连、主题和头交换机。
扇形交换机:广播
直连交换机:精确匹配
主题交换机:模糊匹配

2.主题交换机和头交换机的区别

主题交换机的路由是基于路由键,只有是字符串,匹配是设置*和#
头交换机的路由值基于消息的header数据,可以是整型和哈希值,匹配值是x-match
消息header数据里有一个特殊值”x-match”,它有两个值:
all: 默认值。一个传送消息的header里的键值对和交换机的header键值对全部匹配,才可以路由到对应交换机
any: 一个传送消息的header里的键值对和交换机的header键值对任意一个匹配,就可以路由到对应交换机

3.头交换机实例

//生产者发送时,增加了头部的属性
Map<String,Object> headers = new HashMap();
headers.put("format","pdf");
headers.put("type","report");
AMQP.BasicProperties props = new AMQP.BasicProperties
        .Builder()
        .headers(headers)
        .build();
String msg = "交换机消息发布了";
channel.basicPublish(EXCHANGE_NAME, "", props, msg.getBytes());
//接受者在绑定交换机的时候,也增加了头部的属性
Map<String, Object> headers = new HashMap();
headers.put("format", "pdf");
headers.put("type", "report");
headers.put("x-match", "all");
channel.queueBind(queueName, EXCHANGE_NAME, "", myHeaders);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值