RabbitMQ核心概念

1. 基本概念
  • broker: server,消息队列服务器的实体,他是一个中间件应用,负责接受消息生产的消息,然后将消息发送之消息接受之或者其他的broker.

  • Exchange: 消息交换机,是消息到达的第一个地方,消息通过它指定的路由规则,分发到不同的消息队列中。

  • Queue: 消息队列

  • Binding: 绑定,作用就是将exchange和队列进行绑定。

  • Routing key:路由关键字,Exchange根据该关键字进行指定的消息投送。

  • Virtual host: 虚拟主机,通过虚拟主机来继续对用户进行不同权限的分离。通过Virtual host来进行隔离exchange和Queue,不同的vitual host可以有相同的exchange和Queue

  • Connection:连接。

  • Channel: 消息通道,所有消息的流转都是通过channel,每个channel代表的是一次会话。

  • Producer: 消息的生产者。

  • consumer: 消息的消费者。

2.消息投递到最后消费大致流程
producer(生产者)和RabbitMQ服务器建立连接,通过Channel向Exchange发送消息,Exchange通过Routing key将消息路由到队列中(Queue),consuemr(消费者)绑定指定的队列(Queue)接受消息.
3. Exchange交换机的类型。
  • fanout: 广播模式,该模式下的routingKey会被忽略,此时会使用空字符串来进行代替。
  • direct: 完全根据key来进行匹配。此时的Routingkey必须完全匹配,如果此时Routing key匹配不到,消息将会丢弃。
  • topic: 匹配模式。通过匹配符号来进行匹配。例如*匹配一个词,#匹配一个或多个。
  • headers: 通过header来匹配。Headers是一个键值对。发送者在发送的时候定义一些键值对,接收者也可以在绑定队列的时候也传入一些键值对。亮着键值对匹配的话,则可以接受到消息。匹配方式有两种any和all>着两种方式都在在接收端必须用键值"x-mactch"来定义。all代表定义的多个键值对都要满足,而any则代码只要满足一个就可以了。fanout,direct,topicexchange的routingKey都需要要字符串形式的,而headers exchange则没有这个要求,因为键值对的值可以是任何类型。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值