RabbitMq (一):简介

1. 介绍

MQ 是一种应用程序对应用程序的通信方法。在项目中,可以将一些无需及时返回且耗时的操作提取出来,使用MQ,进行异步处理。比如:主播提交需要审核的信息...

2. 概念模型

  • 消息模型
    消费者订阅某个消息队列,生产者向队列里面添加消息


    消息模型
  • 基本概念


    RabbitMq相关概念
基本概念 解释说明
publisher 消息的生产者
exchange 用来接受生产者发送的消息,并且将消息分发给对应的queue
binding Exchange找到queue的路由规则
Queue 消息的容器,也是消息的终点;消息在此等候消费者来获取
Connection TCP 连接
Channel 信道。信道是建立在真实TCP连接上的虚拟连接。AMQP 命令都是通过信道发出去的,不管是发布消息、订阅队列还是接收消息,这些动作都是通过信道完成。这样做的主要目的是复用TCP连接,节约连接成本
Consumer 消息消费者
Vhost 虚拟主机,每个 vhost 本质上就是一个 mini 版的 RabbitMQ 服务器,拥有自己的队列、交换器、绑定和权限机制
Broker 服务器实体

3. 消息路由

生产者把消息发布到 Exchange 上,消息最终到达队列并被消费者接收,而 Binding 决定交换器的消息应该发送到那个队列。
Exchange在分发消息时,根据不同的类型,采用不同的分发策略:

  • direct:路由键和binding键要完全一致
    direct分发
  • fanout :广播发送
fanout
  • topic :交换器通过模式匹配分配消息
    topic

    topic 模式下可以使用统配符表示bingKey:'*'表示匹配一个单词, '#'则表示匹配没有或者多个单词
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • RabbitMQ详解 本文地址:http://www.host900.com/index.php/articles...
    嘉加家佳七阅读 7,255评论 0 9
  • RabbitMQ 简介 MQ 消息队列,上承生产者,下接消费者。从生产者侧获取消息,然后将消息转发给消费者。由此可...
    2205阅读 8,849评论 1 11
  • 什么叫消息队列 消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂...
    lijun_m阅读 5,151评论 0 1
  • 什么叫消息队列? 消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复...
    Agile_dev阅读 6,910评论 0 24
  • http://liuxing.info/2017/06/30/Spring%20AMQP%E4%B8%AD%E6%...
    sherlock_6981阅读 16,138评论 2 11