【问题标题】:Moving from RabbitMQ to Amazon SQS [closed]从 RabbitMQ 迁移到 Amazon SQS [关闭]
【发布时间】:2014-12-05 12:32:13
【问题描述】:

我们的初创公司目前正在使用RabbitMQ(和Python/Django)作为消息队列,现在我们计划迁移到Amazon SQS,因为它具有高可用性和延迟队列功能。 但是我在 INTERNET 上到处都在读到 SQS 性能缓慢而且非常具有成本效益,那么转向 Amazon SQS 还是应该坚持使用 RabbitMQ 是明智的决定吗? 如果我们最好坚持使用 RabbitMQ,那么“延迟队列”的替代解决方案是什么?

【问题讨论】:

    标签: python django amazon-web-services rabbitmq amazon-sqs


    【解决方案1】:

    我没有遇到任何关于 SQS 性能缓慢的问题,但是我的应用程序的本质可能并不依赖于我队列中的项目的亚毫秒响应时间。对我来说,对队列中的项目所做的工作比使用队列所花费的时间对延迟的贡献更大。

    对我来说,SQS 的分布式、高可用性和“不干涉”特性非常适合。只有您可以决定什么更重要:在您需要支持自己的非冗余系统中多几毫秒的性能,或 AWS 的“队列即服务”产品。不了解您的应用程序,我不能说感知到的额外性能对您来说是否是必要的权衡。

    【讨论】:

      【解决方案2】:

      AWS Simple Queue Service 是一种完全托管、高度可用、高度可扩展的队列服务。

      SQS 定价结构基本上是每个 API 调用的价格,详细说明如下: http://aws.amazon.com/sqs/pricing/

      当您从单个线程按顺序访问 SQS 时,您将受到延迟的限制(当进行 API 调用需要 20 毫秒时,单个线程将达到每秒 50 次调用的峰值)。但 SQS 旨在并行工作。本文展示了如何将 SQS 扩展到每秒数千条消息。 http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/throughput.html

      您可以通过我们的 Python SDK (boto) 访问 SQS API,地址为http://aws.amazon.com/sdk-for-python/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-06-01
        • 2016-12-14
        • 1970-01-01
        • 2010-09-06
        • 2011-04-03
        • 2011-10-20
        • 1970-01-01
        相关资源
        最近更新 更多