使用redis作为消息队列的用法( 三 )

优点

  1. 一个生产者能够对应多个消费者
  2. 支持集群
  3. 接口使用简单
不足
  1. Redis提供的订阅/发布功能并不完美,更不能和ActiveMQ/RabbitMQ提供的订阅/发布功能相提并论 。
  2. 首先这些消息并没有持久化机制,属于即发即弃模式 。也就是说它们不能像ActiveMQ中的消息那样保证持久化消息订阅者不会错过任何消息,无论这些消息订阅者是否随时在线 。
  3. 由于本来就是即发即弃的消息模式,所以Redis也不需要专门制定消息的备份和恢复机制 。
  4. 也是由于即发即弃的消息模式,所以Redis也没有必要专门对使用订阅/发布功能的客户端连接进行识别,用来明确该客户端连接的ID是否在之前已经连接过Redis服务了 。ActiveMQ中保持持续通知的功能的前提,就是能够识别客户端连接ID的历史连接情况,以便确定哪些订阅消息这个客户端还没有处理 。
  5. Redis也没有为发布者和订阅者准备保证消息性能的任何方案,例如在大量消息同时到达Redis服务是,如果消息订阅者来不及完成消费,就可能导致消息堆积 。而ActiveMQ中有专门针对这种情况的慢消息机制 。

【使用redis作为消息队列的用法】


推荐阅读