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
Performance 超过250000 msg/s的RabbitMQ/ActiveMQ或Redis_Performance_Redis_Message Queue_Activemq_Rabbitmq - Fatal编程技术网

Performance 超过250000 msg/s的RabbitMQ/ActiveMQ或Redis

Performance 超过250000 msg/s的RabbitMQ/ActiveMQ或Redis,performance,redis,message-queue,activemq,rabbitmq,Performance,Redis,Message Queue,Activemq,Rabbitmq,尽管redis和消息队列软件通常用于不同的目的,但我想问一下在以下用例中使用redis的利弊: 一组事件收集器将传入消息作为键/值写入。使用者获取和删除已处理的密钥 负载从100k msg/s开始,并在短时间内(如几个月)超过250k,目标是达到百万msg/s 坚持并不严格要求。在故障期间丢失未记录的消息是可以的 性能非常重要(因此,处理负载所需的系统数量) 消息不必按照它们到达的顺序进行处理 您知道redis选择了哪些用例而不是传统的消息队列软件吗?或者你会考虑别的吗? 注意:我也看到了这

尽管redis和消息队列软件通常用于不同的目的,但我想问一下在以下用例中使用redis的利弊:

  • 一组事件收集器将传入消息作为键/值写入。使用者获取和删除已处理的密钥
  • 负载从100k msg/s开始,并在短时间内(如几个月)超过250k,目标是达到百万msg/s
  • 坚持并不严格要求。在故障期间丢失未记录的消息是可以的
  • 性能非常重要(因此,处理负载所需的系统数量)
  • 消息不必按照它们到达的顺序进行处理
您知道redis选择了哪些用例而不是传统的消息队列软件吗?或者你会考虑别的吗? 注意:我也看到了这一点,但没有帮助:


谢谢

考虑到您的要求,我会尝试Redis。它将比其他解决方案执行得更好,并为您提供对持久性特征更细粒度的控制。根据您使用的语言,您可能能够使用分片的Redis集群(您需要支持一致散列的Redis绑定——并非所有绑定都支持)。这将使您可以扩展到指定的音量。在一些基本测试中,我在笔记本电脑上看到了每秒10公里的速度

如果需要队列语义,可能需要在Redis中使用列表操作(LPUSH用于写入,BRPOP用于读取)

去年春天,我有一个以前的客户机在生产中部署了Redis作为消息队列,他们对此非常满意