分布式异步队列 RabbitMQ

异步化处理, 时间换空间

优点:1异步处理响应速度快2削峰3高可用4扩展性 解耦合

缺点:1,时效性差,降低用户体,2系统复杂了

mq的模式

 1简单模式,一个消费只有一个消费者  生产者创建消息发到队列,消费者从队列消费。

 2工作模式  多个消费者监听同一个队列, 多个消费者监听一个队列,但是多个消费者中只有一个会成功消费

 3订阅模式  多个消息队列,每个消息有一个消费者监听 。生产者发的消息可以被每一个消费者接收。

 4 路由模式 一个交换机绑定多个消息队列,没个消息队列独有自己的唯一key。每个消息队列有一个消息者监听

 

mq的保证机制

   1保证发送者发送成功 :添加事务,很费资源,一般不用。

   2消息确认和return机制:

          消息确认:提供是否成功发送交换机。return机制是确认消息分发到队列。具体操作是 发送的时候,开启消息确认机制。 之后接收消息确认。(有同步,有异步);

         return机制:发的的时候开启return机制处理添加 return 监听器 回调函数。

延时机制,死信队列实现消息延时

       队列是及时的,没有直接设置延时的的功能,用TTL(Time To Live)实现,

                         消息和消息队列都可以设置失效时间,设置消息的时间的时候一般是一样的,一般不能前大后小的,这样的话大的消费不了,小的那个消费不了。 消息队列用的少,一般设置队列消息。那个同时设置的时候小的延时时间。实现方式,定义时间的私                           信,故意让他过期,过期后转到新的队列消费,实现延时功能。

 使用场景:

      1异步 例如:注册后发邮件,下订单发消息

      2重试机制发邮件问题

      3延时队列 做限时取消的

      4消息通信

      5秒杀抢购-----队列拦截请求

        

你可能感兴趣的:(RabbitMQ)