[Python-es] herramienta para "clusterizar" procesos

Andrey Antoukh andsux en gmail.com
Lun Jun 18 22:52:40 CEST 2012


Me da a mi que se estan mesclando distintos conceptos para un tema y una
pregunta muy amplia.
Y de repente meten "heartbeat" a la conversacion y ya desordena por
completo el hilo.

En fin: ¿Que intuyes tu por decir clusterizar?

Si lo que quieres es paralelizar cuanto mas un solo proceso, busca una
solucion de un map/reduce que te premita distribuir los calculos en
distintos procesos.
Si lo que quieres es ejecutar X muchas tareas y ir repartiendolas entre
distintos procesos / maquinas, busca algo sobre Ventilator (
http://zguide.zeromq.org/page:all#Divide-and-Conquer). Aqui puedes jugar
con zeromq o con pika y RabbitMQ que son una buena alternativa.
Otra alternativa es algo al estilo rpc: http://rpyc.sourceforge.net/

Ahora, llegando a heartbeat, si lo que quieres es tener N procesos
identicos corriendo y si uno falla que responda el otro, no se, pero yo eso
lo llamo alta disponibilidad y no clusterizacion  y aqui entra heartbeat ;)

Y asi hay un monton mas que pueden ser buenos, pero mi recomendacion
personal es que mires ZeroMQ, es de los mas rapidos para comunicacion entre
procesos. Con este seras capaz de colapsar la red antes que colasar la cpu.

Andrei.

El 17 de junio de 2012 19:22, Jose Caballero <jcaballero.hep en gmail.com>escribió:

>
>
> El 13 de junio de 2012 09:35, Jose Sabater Montes <jsm en iaa.es> escribió:
>
> On Tuesday 12 June 2012 16:26:21 Jose Caballero wrote:
>> > Hola,
>> >
>> >
>> >
>> > tengo una pequegna aplicacion daemon en la que de momento cada instancia
>> > (una por maquina) trabaja de forma independiente.
>> > Estos daemons lanzan un numero determinado de threads (los verdaderos
>> > agentes que hacen el trabajo), tambien todos ellos independientes unos
>> de
>> > otros.
>> >
>> > Ahora me gustaria que estos agentes pudiesen trabajar en grupo.
>> > Para ello necesito que sepan de la existencia de otros agentes, tanto
>> en la
>> > misma maquina como maquinas remotas, ser capaces de pasarse mensajes
>> unos a
>> > otros, heartbeats, descubrimiento dinamico de nuevos agentes, etc.
>> >
>> > Compatible con python2.4
>> >
>> > Se que hay bastante codigo escrito.
>> > Pero como no tengo experiencia, me preguntaba si alguien ha usado
>> algunos
>> > de los "frameworks" disponibles y puede comentar su experiencia.
>> > Especialmente importante es como de facil es la integracion.
>> > Cualquier comentario es bienvenido.
>>
>> Ecuché una vez de una librería que hacía algo parecido a lo que comentas,
>> Pyro:
>> http://packages.python.org/Pyro4/intro.html
>>
>> Me la apunté en la lista de cosas a mirar en un futuro, sin embargo no la
>> he
>> usado personalmente. Veamos que más nos dicen.
>>
>> Un saludo,
>> Jose Sabater
>>
>>
> Acabo (por fin encontre 5 minutos) de mirar un poco pyro4.
> Aunque solo he leido el tutorial un poco en diagonal, en principio tiene
> buena pinta.
> No acabo de encontrar nada sobre heartbeat... quizas lo llaman de otra
> forma...
>
> Muchas gracias,
> Jose
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Andrei Antoukh - <niwi en niwi.be>
http://www.niwi.be/page/about/
http://www.kaleidos.net/A5694F/

"Linux is for people who hate Windows, BSD is for people who love UNIX"
"Social Engineer -> Because there is no patch for human stupidity"
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120618/7b8766c9/attachment.html>


Más información sobre la lista de distribución Python-es