RabbitMQ基本介绍(1)

1.MQ作用

异步、解耦、分布式、错峰限流。

 

2.目前主流的MQ介绍

Kafka、RabbitMQ、RocketMQ

Kafka:分布式、高吞吐;不支持事务对重复、错误和丢失没有严格要求。

RabbitMQ:纯Java开发,高吞吐量,高可用性,适用于大规模分布式系统。

ActiveMQ:丰富的API,多种集群构建模式,但吐量下降一般适用于中小型企业。

 

3.消息中间件的组成

 3.1 Broker: 消息服务器,作为server提供消息核心服务

​ 3.2 Producer: 消息生产者,业务的发起方,负责生产消息传输给broker,

​ 3.3 Consumer: 消息消费者,业务的处理方,负责从broker获取消息并进行业务逻辑处理

​ 3.4 Topic :主题,发布订阅模式下的消息统一汇集地,不同生产者向topic发送消息,由MQ服务器分发到不同的订阅者,实现消息的 广播

​ 3.5 Queue:队列,PTP模式下,特定生产者向特定queue发送消息,消费者订阅特定的queue完成指定消息的接收

​ 3.6 Message:消息体,根据不同通信协议定义的固定格式进行编码的数据包,来封装业务数据,实现消息的传输

 

4 消息队列5种模式

(一) 简单模式

   特点: 一个消费者

  RabbitMQ基本介绍(1)_第1张图片

 

(二) 工作模式

  特点:多个消费者,每个消费者处理的信息是不一样的,用在高并发.

  RabbitMQ基本介绍(1)_第2张图片

 

(三) 订阅模式

   特点:每个消费者得到的消息是一样的

  RabbitMQ基本介绍(1)_第3张图片

 

(四) 路由模式

  说明:路由模式是发布订阅模式的升级,通过定义不用的路由key使得程序将消息发送到不同的队列中

   每个消费者得到信息不一样的,信息有routingkey,消费者执行select where routingkey=mobile

 

  RabbitMQ基本介绍(1)_第4张图片

 

(五) 主题模式

   说明:可以通过路由key将消息发送到一类相同的key中 使用通配符实现

   消息分类,消费者取消息时用mobile.*能取到routingKey为mobile.cart和mobile.order的信息。

 

  RabbitMQ基本介绍(1)_第5张图片

你可能感兴趣的:(MQ,rabbit介绍,rabbit模式,rabbit组成)