2011-06-23 7 views
7

Similar a mi pregunta here Estoy intentando configurar varias instancias de Amazon EC2 para hacer un multiprocesamiento. Estaba pensando en utilizar Aplery para administrar a los trabajadores. ¿Alguien ha obtenido apio para trabajar en instancias de EC2 con una computadora local como anfitrión?Configuración de instancias de EC2 como Apio Trabajadores con una computadora local como el host

¿Alguien tiene alguna buena sugerencia, tutorial, consejo, etc. que pueda ayudar? He usado el apio para hacer algunos procesos asincrónicos simples en django, pero nada de esta escala (el trabajador y los hosts estaban en la misma máquina).

También la mayoría del procesamiento está 'basado en archivos' (es decir, leer y escribir archivos) ... ¿Crees que sería mejor recortar y transmitir el contenido del archivo con apio (la mayoría de los archivos son 1-2kb de texto) o para reflejar el sistema de archivos en las instancias de EC2 y luego simplemente hacer que los trabajadores devuelvan los resultados (que generalmente son de 0,5 kb de texto).

+1

He hecho [la misma pregunta] (https://groups.google.com/forum/?fromgroups=#!topic/celery-users/EnJGOK7kf_Y) en la lista de correo de los usuarios de Aplery y todavía estoy esperando por una respuesta. ¿Podría comentar cómo finalmente decidió hacerlo? –

+1

@ andres.riancho Solo haga copias de la instancia de su aplicación, haga que todas las copias se escuchen en su intermediario de mensajes. Puede desactivar el apio en la máquina de aplicaciones y ejecutar el apio en todas las demás copias. De esta forma, la instancia de su aplicación lo colocará en la cola y las copias consumirán las tareas – noahandthewhale

Respuesta

1

He utilizado Amazon SQS para la gestión de tareas con Amazon EC2. Es una solución muy escalable. Boto es la mejor biblioteca para administrar los servicios de Amazon que encontré.

Para almacenar gran cantidad de archivos pequeños puede usar MongoDB GridFS, le permitirá almacenar gigas de archivos locales. Usé MongoDB y obtuve el rendimiento perfecto para tales tareas. El único problema: MongoDB en una arquitectura de 32 bits muy limitada. Amazon tiene una microinstancia y la siguiente instancia de gran costo que admite 64. Microinstancia muy limitada por CPU y memoria, y si no se ajusta a sus necesidades, debe configurar una grande, que puede costar mucho.

Micro instancia en mis tareas fue capaz de leer/escribir hasta 10 gigas al día sin ningún problema.

También eche un vistazo a las instancias de Spot. Cuesta alrededor de 3 veces menos que a pedido y es posible que los encuentre bastante buenos para el procesamiento en segundo plano.

Cuestiones relacionadas