您当前的位置: 首页 >  rabbitmq

Phil Arist

暂无认证

  • 4浏览

    0关注

    276博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Rabbitmq队列模式总结

Phil Arist 发布时间:2021-09-01 11:00:28 ,浏览量:4

1.整体图示

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

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

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

3.头交换机实例
//生产者发送时,增加了头部的属性
Map 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 headers = new HashMap();
headers.put("format", "pdf");
headers.put("type", "report");
headers.put("x-match", "all");
channel.queueBind(queueName, EXCHANGE_NAME, "", myHeaders);

关注
打赏
1662360869
查看更多评论
立即登录/注册

微信扫码登录

0.1570s