Mi aplicación está escrita en django f/w, que usa apio y redis para tareas asincrónicas. Me gustaría escalar automáticamente a los trabajadores según la carga/número de mensajes en la cola. Para esto, me gustaría hacer uso de diferentes opciones proporcionadas por AWS.
¿Cuál es el reemplazo con la infraestructura de AWS para Celery y Redis?
ElastiCache es el servicio administrado de Amazon para un almacén de datos en memoria. Elasticache le permite aprovisionar un servicio que proporciona una funcionalidad de almacenamiento de datos de alto rendimiento utilizando Redis o Memcached como base.
Personalmente, no he usado Celery, pero sé que es una cola de mensajes como RabbitMQ. En este caso, la alternativa probable de servicios gestionados sería AmazonMQ . AmazonMQ usa Apache ActiveMQ bajo el capó, pero la capa API debería abstraer la mayoría de las diferencias por usted.
Si quisiera, probablemente podría salirse con la suya ejecutando Celery en AWS y no usar su servicio AmazonMQ. Simplemente puede realizar el proceso de instalación en una instancia EC2 o con ElasticBeanstalk . O incluso ejecutarlo en un contenedor de Linux en algo como ECS o Fargate .
Si tuviera que usar EC2, probablemente incluso podría salirse con la suya usando una AMI de Marketplace de la comunidad existente con Celery ya aprovisionado y presumiblemente configurable con datos de inicio en la nube.
Aquí hay publicaciones de blog y otras preguntas de personas que configuran colas basadas en apio en AWS:
¡Espero que esto ayude! Si necesita información adicional o apoyo para esta pregunta, no dude en comunicarse con cualquier pregunta que pueda tener.