我有一个场景,我正在寻找一个支持以下的消息队列服务:
- 易于使用
- 性能非常高
- 消息一旦读取不应该可供其他消费者使用。
- 应该有能力在阅读后删除消息。
- 消息一旦发布就不应被丢弃。
我所拥有的场景如下所述:
- 有很多出版商。
- 会有很多消费者。
- 排队服务器和消费者驻留在同一台机器上,但发布者驻留在不同的机器上。
请让我知道除了满足以上几点的 Rabbitmq 和 sqs 之外最好的排队服务
我有一个场景,我正在寻找一个支持以下的消息队列服务:
我所拥有的场景如下所述:
请让我知道除了满足以上几点的 Rabbitmq 和 sqs 之外最好的排队服务
我会推荐 Apache Kafka: http: //kafka.apache.org/
如果你想知道 Kafka 和 RabbitMQ 之间的比较,你应该阅读这篇文章:http ://www.quora.com/RabbitMQ/RabbitMQ-vs-Kafka-which-one-for-durable-messaging-with-good-query -特征
另外,你应该看看这个:ActiveMQ or RabbitMQ or ZeroMQ or
对于我的一些系统集成项目,我遇到了 MQ 任务。一些有钱的客户想要像 IBM WebSphere MQ 这样的生产解决方案,但我认为这太有表现力了,太难了。
我找到并使用了简单稳定的类比:电子邮件服务器。
所有集成系统都有本地电子邮件信箱。消息是电子邮件,主题中带有命令代码,附件中带有 json。电子邮件服务器侦听所有队列并将其分派给收件人或他们的组。电子邮件协议很稳定,所有开发人员都知道很多工具可以使用它。系统管理员和测试人员使用简单的电子邮件客户端进行测试和审计。所有电子邮件服务器都有一个日志记录工具。
这是最好和最简单的解决方案,我建议将它用于大多数集成项目。
据我所知,Kafka 主要用于真实的数据传播,我认为我的要求不需要像 kafka 这样的东西。我使用过 SQS,但 SQS 的唯一问题是高延迟。发布者将消息推送到队列,消费者继续轮询新消息,这种实现以非常高的延迟打击了我。我的要求很简单,如下:
我曾想过使用 redis,我将在其中将消息推送到列表中,并且工作人员将继续将它们背靠背弹出,直到列表变为空,但我还没有对此进行任何基准测试。所以在这里我真的需要建议,所以我朝着正确的方向前进。
谢谢,