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

时间:2011-09-12 01:59:13

标签: redis message-queue rabbitmq

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

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

1 个答案:

答案 0 :(得分:8)

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

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

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