AWS 基础设施对 Celery 和 Redis 的替代是什么?

问题描述 投票:0回答:2

我的应用程序是用 django f/w 编写的,它使用 celery 和 redis 来执行异步任务。我想根据队列中的消息负载/数量自动缩放工作人员。为此,我想利用 AWS 提供的不同选项。

Celery 和 Redis 的 AWS 基础设施可以替代什么?

django amazon-web-services redis celery autoscaling
2个回答
3
投票

ElastiCache 是 Amazon 的内存数据存储托管服务。 Elasticache 允许您使用 Redis 或 Memcached 作为基础来配置提供高性能数据存储功能的服务。

我个人没有使用过 Celery,但我知道它是否像 RabbitMQ 一样作为消息队列。在这种情况下,可能的托管服务替代方案是AmazonMQ。 AmazonMQ 在底层使用 Apache ActiveMQ,但 API 层应该为您抽象出大部分差异。

如果您愿意,您可能可以在 AWS 上运行 Celery,而不使用他们的 AmazonMQ 服务。您可以简单地在 EC2 实例 上或使用 ElasticBeanstalk 执行安装过程。或者甚至在 Linux Container 上运行它,例如 ECSFargate

如果您要使用 EC2,您甚至可能可以使用现有的 community Marketplace AMI ,并且 Celery 已经配置好,并且可以使用 cloud-init 数据进行配置。

以下是人们在 AWS 上设置基于 Celery 的队列时提出的博客文章和其他问题:

希望这有帮助!如果您需要有关此问题的任何其他信息或支持,请随时联系您可能有的任何问题!


0
投票

有一篇关于 aws 的有趣文章,介绍了如何使用 AWS 批处理以及 celery 工作人员以这种方式进行批处理。

https://aws.amazon.com/blogs/hpc/run-celery-workers-for-compute-intense-tasks-with-aws-batch/

总结一下

  • 保留芹菜
  • AWS 批次
  • 用于扩展工作人员的 Cloudwatch/事件桥
  • SQS 用于消息传递
© www.soinside.com 2019 - 2024. All rights reserved.