Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Redis进行Pub-Sub。与RabbitMQ相比的优点/缺点_Redis_Message Queue_Rabbitmq - Fatal编程技术网

使用Redis进行Pub-Sub。与RabbitMQ相比的优点/缺点

使用Redis进行Pub-Sub。与RabbitMQ相比的优点/缺点,redis,message-queue,rabbitmq,Redis,Message Queue,Rabbitmq,我们的要求很简单。向订阅主题的用户发送消息。我们需要我们的消息传递系统能够支持数百万个主题,并且可能支持数百万个用户以近乎实时的方式访问任何给定的主题。我们的应用程序是用Java构建的 我们几乎决定使用RabbitMQ,因为社区支持、文档和特性(可能它将提供我们需要的一切)。但是我非常倾向于使用Redis,因为它看起来很有前途而且很轻。老实说,我对Redis作为消息传递系统的了解有限,但看看越来越多的公司(使用Ruby Resque)将其用作队列,我想知道Java中是否有像Resque这样的产品

我们的要求很简单。向订阅主题的用户发送消息。我们需要我们的消息传递系统能够支持数百万个主题,并且可能支持数百万个用户以近乎实时的方式访问任何给定的主题。我们的应用程序是用Java构建的


我们几乎决定使用RabbitMQ,因为社区支持、文档和特性(可能它将提供我们需要的一切)。但是我非常倾向于使用Redis,因为它看起来很有前途而且很轻。老实说,我对Redis作为消息传递系统的了解有限,但看看越来越多的公司(使用Ruby Resque)将其用作队列,我想知道Java中是否有像Resque这样的产品,以及使用Redis作为MQ而不是RabbitMQ的优缺点。

RabbitMQ支持群集,现在有活动/活动高可用性队列,允许更大的扩展和可用性选项,这在Redis开箱即用的情况下是可能的

RabbitMQ为您提供了对一切的更大控制,从交换机/队列的用户/权限,到特定交换机或队列的持久性(磁盘与内存),再到交付的保证(事务,Publisher确认)


它还允许在拓扑(扇出、主题、直接)和路由到多个队列、带有专用队列的RPC和回复等方面提供更多灵活性和选项。

谢谢duckworth。我的困境来自heello.com正在使用redis/Resque,而且他们可能已经准备好进行大规模的消息流。我想知道Redis是否准备好处理这样的规模。我仍然对找到答案感兴趣,但除此之外,我对RabbitMQ很满意。我用于RMQ的每个客户端库在维护持久连接时都有严重的错误。设计/架构很漂亮,但请考虑真实世界的高可用性情况。