从RabbitMQ迁移到Amazon SQ

2024-04-27 16:30:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我们的初创公司目前正在使用RabbitMQ(与Python/Django)作为消息队列,现在我们计划转移到{},以获得其高可用性和延迟队列特性。 但我在互联网上到处都看到,SQS的性能很慢,而且成本效益也很高,所以迁移到Amazon SQS是明智的决定还是应该坚持RabbitMQ? 如果我们坚持使用RabbitMQ很好,那么“延迟队列”的替代解决方案是什么呢?在


Tags: django消息amazon队列rabbitmq公司互联网特性
2条回答

AWS简单队列服务是一个完全管理的、高可用性的、高度可伸缩的队列服务。在

SQS定价结构基本上是每次API调用的价格,详细信息请参见: http://aws.amazon.com/sqs/pricing/

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

您可以从我们的pythonsdk(boto)访问sqsapi,可从http://aws.amazon.com/sdk-for-python/获得

在SQS上,我没有遇到过任何性能低下的问题,不过,也许我的应用程序的本质并不依赖于队列中项目的毫秒级响应时间。对我来说,对队列中的项目所做的工作比使用队列所需的时间对延迟的贡献更大。在

对我来说,SQS的分布式、高可用性和“无需干预”的特性符合我的要求。只有你自己才能决定什么是更重要的:在一个需要自己支持的非冗余系统中,你可以再提高几毫秒的性能,或者AWS的“队列即服务”产品。不知道你的申请,我不能说,如果你认为额外的性能是必要的权衡。在

相关问题 更多 >