我们的初创企业目前正在使用RabbitMQ (与Python/Django一起)作为消息队列,现在我们计划转移到Amazon SQS,因为它的高可用性&它们的延迟队列功能。但我在互联网上到处读到,SQS执行缓慢&而且成本效益很高,所以选择Amazon还是应该坚持使用RabbitMQ是明智的决定吗?如果我们坚持使用RabbitMQ,那么“延迟队列”的替代解决方案是什么呢?
发布于 2014-12-05 13:54:45
我在SQS上没有遇到性能缓慢的问题,但也许我的应用程序本质上并不指望队列中的项目有不到毫秒的响应时间。对我来说,对队列中的项目所做的工作比使用队列所需的时间更大程度上造成了延迟。
对我来说,SQS的分布式、高可用性和“两手空空”的特性适合该法案。只有您才能决定什么是更重要的:在需要自己支持的非冗余系统中再多几毫秒的性能,或者AWS提供的“队列作为服务”。不知道你的申请,我不能说你是否认为额外的表现是一个必要的权衡。
发布于 2014-12-05 14:01:24
AWS简单队列服务是一种完全管理、高度可用、高度可伸缩的队列服务。
SQS的定价结构基本上是每个API调用的价格,详情请参见:http://aws.amazon.com/sqs/pricing/。
当您按顺序从单个线程访问SQS时,您将受到延迟的限制(当发出API调用需要20 in时,单个线程将达到每秒50个调用的峰值)。但是SQS是设计成并行工作的。本文展示了如何将SQS缩放为每秒数千条消息。http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/throughput.html
您可以从我们的Python (boto)访问SQS,可以在http://aws.amazon.com/sdk-for-python/上获得
https://stackoverflow.com/questions/27315968
复制相似问题