使用Redis for Pub Sub.RabbitMQ的优点/缺点

Wal*_*ker 11 message-queue rabbitmq redis

我们的要求非常简单.向订阅主题的用户发送消息.我们需要我们的消息传递系统能够近乎实时地支持数百万个主题,并且可能支持数百万订阅者.我们的应用程序是用Java构建的.

我们几乎决定使用RabbitMQ,因为社区支持,文档和功能(可能会提供我们需要的一切).但我非常倾向于使用Redis,因为它看起来很有前途和轻量级.老实说,我对Redis作为一个消息传递系统的理解有限,但是看着越来越多的公司使用它作为排队(使用Ruby Resque),我想知道是否有像Resque in Java这样的产品,有什么优势或者使用Redis作为RabbitMQ上的MQ的缺点.

duc*_*rth 8

RabbitMQ支持群集,现在具有主动/主动高可用性队列,允许更大的扩展和可用性选项,然后Redis开箱即用.

RabbitMQ为您提供了更多的控制权,从交换/队列的用户/权限,到特定交换或队列(磁盘与内存)的持久性,到交付保证(交易,发布商确认).

它还允许拓扑上的更多灵活性和选项(扇出,主题,直接)和路由到多个队列,RPC与私有队列和回复等.

  • 我用于 RMQ 的每个客户端库在维护持久连接方面都有严重的错误。设计/架构很漂亮,但请考虑现实世界的高可用性情况。 (2认同)