RabbitMQ介绍

  1. 简介:

RabbitMQ是一套开源(MPL)的消息队列服务软件,使用Erlang语言开发的开源消息队列系统;用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现很出色。

模型:P为消息的发送者(生产者),K为交换机,Q为消息队列,C接收消息(消费者)。

  1. 工作原理:

生产者producter通过信道channel发送消息给交换机Exchange,交换机创建时需要指定类型(直接Direct,扇出Fanout ,主题Topic ,消息头Headers),然后交换机根据消息的属性把消息分发到不同的队列Queue中,等待消费者Consumer的消费。

  1. 关键词概念:

生产者(Producter):消息的发送者。

连接(Connection):连接MQ和应用服务器的TCP连接。

信道(Channel):发送和接收消息的虚拟通道。

代理(Broker):消息接收与分发的应用,RabbitMQ Server为一个Message Broker。

交换机(Exchange):RabbitMQ分发器,根据不同的策略将消息分发到相关的队列。

队列(Queue):缓存消息的容器或者缓存。

绑定(Binding):设置交换机与队列的关系。

路由键(Routing Key):提供交换机查看并根据键来决定如何分发消息到队列的一个键,路由键可以说成消息的目的地址。

虚拟主机(Virtual host):RabbitMQ支持权限控制,但是最小粒度为虚拟主机。一个虚拟主机可以包含多个交换机、队列、绑定。
  1. 模式介绍:

simple模式:不需要交换机,直连模式,一个队列只有一个消费者。

work模式:一个队列多个消费者。

direct模式:需要交换机,通过交换机的路由key,精确匹配queue,并发送到对应的queue。

topic模式:通过路由与路由key,模糊匹配的模式,可用通配符。比如key.1会被绑定的路由key.*的queue获取到。

fanoout模式:广播模式。不需要路由key,给所有绑定到交换机的queue。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值