rabbitMQ--架构模型

架构模型如下:
在这里插入图片描述
名词解释

  • Broker:rabbitmq服务
  • Virtual Host:虚拟主机,用于进行逻辑隔离(相当于mysql中的schema),一个Virtual Host可以包含多个不同的exchange和queue(名称不一样)

新增virtual Host

  1. 管理页面添加
    在这里插入图片描述
  2. 命令添加
rabbitmqctl add_vhost vhostpath
  • Exchange:交换机,生产者将消息发送到交换机,交换机根据路由key,将消息分发到对应的queue(队列)。

  • Queue:用来存贮消息,每个队列都会绑定至少一个交换机,若没有指定,则绑定默认交换机。
    在这里插入图片描述

  • Binding:绑定,消息队列需要将交换机和队列绑定,一般指定routingKey,来确定消息需要路由的队列。
    在这里插入图片描述

  • routingKey:消息的路由规则。
    在这里插入图片描述

交换机模式

exchange属性

  • Name: 名称
  • Type:类型(Direct、Topic、Fanout、Headers)
  • Durability:是否持久化,重启后是否依然存在,true为持久化
  • Auto Delete:是否自动删除,所有队列都删除后,该交换机是否自动删除
  • Internal:当前Exchange是否用于RabbitMQ内部使用,默认为false
  • Argument:扩展参数,用于扩展AMQP协议自制定化使用

在这里插入图片描述

类型(Direct、Topic、Fanout、Headers)

Direct(直连交换机)

消息被转发到 RoutingKey 中指定的 Queue。

Topic(主题交换机)

交换机将消息的routingKey和队列的bindkey进行模糊匹配,将消息转发到符合规则的queue。所以该模式下,队列需要绑定一个topic。

可以使用通配符进行模糊匹配

“#” 匹配零个或多个词 ,"*" 匹配一个词

“log.#” 能够匹配到 “log.info.oa” ,“log.*” 能够匹配到 “log.erro”

在这里插入图片描述

Fanout(广播交换机)

将消息发送到与该交换的绑定的所有队列中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值