【发布时间】:2020-07-08 14:56:37
【问题描述】:
我的应用程序是用 django f/w 编写的,它使用 celery 和 redis 来执行异步任务。我想根据队列中的消息负载/数量自动缩放工作人员。为此,我想利用 AWS 提供的不同选项。
用 AWS 基础设施替代 Celery 和 Redis 是什么?
【问题讨论】:
标签: django amazon-web-services redis celery autoscaling
我的应用程序是用 django f/w 编写的,它使用 celery 和 redis 来执行异步任务。我想根据队列中的消息负载/数量自动缩放工作人员。为此,我想利用 AWS 提供的不同选项。
用 AWS 基础设施替代 Celery 和 Redis 是什么?
【问题讨论】:
标签: django amazon-web-services redis celery autoscaling
ElastiCache 是 Amazon 的内存数据存储托管服务。 Elasticache 让您可以使用 Redis 或 Memcached 作为基础来配置提供高性能数据存储功能的服务。
我没有亲自使用过 Celery,但我知道它是否像 RabbitMQ 这样的消息队列。在这种情况下,可能的托管服务替代方案是AmazonMQ。 AmazonMQ 在后台使用 Apache ActiveMQ,但 API 层应该为您抽象出大部分差异。
如果您愿意,您可以在 AWS 上运行 Celery 而不使用他们的 AmazonMQ 服务。您可以简单地在EC2 instance 或ElasticBeanstalk 上执行install process。或者甚至在Linux Container 上运行它,比如ECS 或Fargate。
如果您要使用 EC2,您甚至可以使用现有的 community Marketplace AMI,其中 Celery 已经预置并且可能可以使用 cloud-init 数据进行配置。
以下是人们在 AWS 上设置基于 Celery 的队列的博客文章和其他问题:
希望这会有所帮助!如果您需要对此问题的任何其他信息或支持,请随时与您提出任何问题!
【讨论】: