【问题标题】:Slow Performance of Amazon SQS compared with RabbitMQ与 RabbitMQ 相比,Amazon SQS 的性能较慢
【发布时间】:2012-05-09 09:28:43
【问题描述】:

我想在我的 Web 应用程序中集成一个消息队列中间层。我测试了 Rabbitmq 和 Amazon SQS,但发现 Amazon SQS 很慢。我在 Amazon SQS 中获得 80 个请求/秒,而在 Rabbitmq 中获得 2000 个请求/秒。我问这个问题是因为我对 Amazon SQS 更感兴趣,因为我将 Amazon 的所有服务用于我的 Web 应用程序。谁能告诉我为什么这么慢?或者,如果有人对 Amazon SQS 有任何好的基准,您可以分享一下吗?任何帮助都将得到回报。

【问题讨论】:

  • 您能告诉我们更多有关您的设置的信息:您使用的是什么语言,是否有多个线程?此外,亚马逊从未承诺消息传递将是低延迟的,只是在有足够的读者和作者的情况下,它可以很好地扩展。
  • 我用 Java 驱动测试过。我已经测试了 1 个线程,然后测试了 25 个线程来接收消息和发送消息。我在 AWS Java SDK 1.3.8 中重用了作为示例给出的代码。
  • 如果您想要用于 RabbitMQ 的 EC2 托管解决方案,请查看 cloudamqp.com
  • 谢谢卡尔霍伯格。我已经检查过了,但是因为它是付费的,所以我避免了它:-)。所以我决定在 EC2 中使用我自己的 RabbitMQ 服务器并根据需要对其进行扩展。虽然这项服务很好。再次感谢。

标签: amazon-ec2 rabbitmq amazon-sqs


【解决方案1】:

这里要记住的一件事是,SQS 正在跨多个可用区复制您的数据。与单个 Rabbit 或其他 MQ 实现相比,这将增加时间复杂度。

如果您的单个 RabbitMQ 实例出现故障,您是否可以处理无法处理消息或可能丢失数据?如果是,您可能不需要复制甚至磁盘持久性。但我猜大多数用例都会关心,因此,SQS 提供了一个非常不干涉的分布式 MQ 解决方案,从理论上讲,它可以避免单点故障。

【讨论】:

    【解决方案2】:

    根据this article,您可以在 Amazon AWS (EC2) 上运行 RabbitMQ,它会更快并且可能更便宜,每秒有一条消息和财务比较。 RabbitMQ site

    上还有其他一些操作指南

    【讨论】:

    • 谢谢 robthewolf。我已经看到了您提供的确切网站。我已经通过了 RabbitMQ,但我在 AutoScaling rabbitmq 集群中遇到了问题。
    • 你看过这个rabbitmq.com/blog/2012/04/25/…不确定它是否有帮助
    猜你喜欢
    • 2021-04-02
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    相关资源
    最近更新 更多