1

我有一个场景,我正在寻找一个支持以下的消息队列服务:

  1. 易于使用
  2. 性能非常高
  3. 消息一旦读取不应该可供其他消费者使用。
  4. 应该有能力在阅读后删除消息。
  5. 消息一旦发布就不应被丢弃。

我所拥有的场景如下所述:

  1. 有很多出版商。
  2. 会有很多消费者。
  3. 排队服务器和消费者驻留在同一台机器上,但发布者驻留在不同的机器上。

请让我知道除了满足以上几点的 Rabbitmq 和 sqs 之外最好的排队服务

4

3 回答 3

4

我会推荐 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

于 2013-10-23T04:26:50.560 回答
0

对于我的一些系统集成项目,我遇到了 MQ 任务。一些有钱的客户想要像 IBM WebSphere MQ 这样的生产解决方案,但我认为这太有表现力了,太难了。

我找到并使用了简单稳定的类比:电子邮件服务器

所有集成系统都有本地电子邮件信箱。消息是电子邮件,主题中带有命令代码,附件中带有 json。电子邮件服务器侦听所有队列并将其分派给收件人或他们的组。电子邮件协议很稳定,所有开发人员都知道很多工具可以使用它。系统管理员和测试人员使用简单的电子邮件客户端进行测试和审计。所有电子邮件服务器都有一个日志记录工具。

这是最好和最简单的解决方案,我建议将它用于大多数集成项目。

于 2014-10-02T09:18:26.377 回答
0

据我所知,Kafka 主要用于真实的数据传播,我认为我的要求不需要像 kafka 这样的东西。我使用过 SQS,但 SQS 的唯一问题是高延迟。发布者将消息推送到队列,消费者继续轮询新消息,这种实现以非常高的延迟打击了我。我的要求很简单,如下:

  1. 队列服务应该像 SQS 一样具有高可用性和可靠性
  2. 延迟应该非常高,可以说不超过 10 毫秒。(这里10ms包括发布和接收消息)。
  3. 此外,我的消息大小非常小,说不超过 20-30 个字节。

我曾想过使用 redis,我将在其中将消息推送到列表中,并且工作人员将继续将它们背靠背弹出,直到列表变为空,但我还没有对此进行任何基准测试。所以在这里我真的需要建议,所以我朝着正确的方向前进。

谢谢,

于 2013-10-23T09:12:23.003 回答