我的应用程序是用django f/w编写的,它使用celener和redis执行异步任务。我想根据队列中消息的负载/数量自动缩放工作人员。为此,我想利用AWS提供的不同选项。
Celery和Redis的AWS基础设施的替代品是什么?
ElastiCache是亚马逊的内存数据存储托管服务。Elasticache允许您使用Redis或Memcached作为基础来提供高性能数据存储功能的服务。
我个人没有使用过Celery,但我知道它是否像RabbitMQ一样作为消息队列。在这种情况下,可能的托管服务替代方案是AmazonMQ。AmazonMQ在后台使用ApacheActiveMQ,但API层应该为您抽象掉大部分差异。
如果你愿意,你可能可以在AWS上运行Celery,而不使用他们的AmazonMQ服务。您可以简单地在EC2实例或使用ElasticBeanstalk执行安装过程。甚至可以在ECS或Fargate之类的Linux容器中运行它。
如果您要使用EC2,您甚至可以使用现有的社区Marketplace AMI,其中Celery已经提供,并且可能可以使用云初始化数据进行配置。
以下是在AWS上设置基于Celery的队列的人的博客文章和其他问题:
- 使用EC2
- 使用ElasticBeanstalk
- 使用Fargate
- 使用ECS
希望这能有所帮助!如果您需要此问题的任何其他信息或支持,请随时联系您可能提出的任何问题!