Hola gente!
Como escribi hace unas semanas, estoy trabajando en mi tiempo libre implementando varias cosas en Node.js, en particular, un Storm-like. Tengo varias piezas en su lugar, pero viene ahora una pregunta.
He tratado de implementar las ideas de Storm, solamente con lo que esta publicado, sin probarlo directamente. Me gusta Node.js, porque me parece, a priori, mas facil de instalar, desplegar y probar que Storm (que tiene una pila de herramientas a instalar en cada nodo, y en su tiempo, vi que no tenia soporte de topologia distribuida en maquinas heterogeneas (algunas Windows, p.ej.)).
Ahora si, la pregunta:
Veo que en Storm, al describir la topologia, se pone la cantidad de workers de cada bolt, spout. Esos workers luego se crearan y ejecutaran en varias JVM, probablemente distribuidas.
Pero, nadie tiene necesidad de una cantidad dinamica de workers?
Pregunta relacionado: o Storm tiene eso, y no me di cuenta todavia?
Digo, mi caso de uso concreto es:
- Quiero un web crawler
- El bolt de download quiero que tenga una cantidad dinamica de workers (y tal vez otros bolt tambien)
- El web crawler lo lanzo, al principio, hay N maquinas corriendo la topologia
- A la noche, tengo mas maquinas libres, agrego M. Deberian ser aceptadas automaticamente, y darles algun bolt de download o demas
- A la maniana, quiero recuperar esas maquinas para otros trabajos, las saco de la topologia
Parece que nadie necesita eso, es asi?
Algo relacionado: tambien vi que Hadoop no parece tener una configuracion dinamica. Ahi lo veo mas justificado, pero es asi? Nadie tampoco tiene caso de uso dinamicos?
Me imagino respuestas:
- No, no necesitamos dinamico
- Hmmm, lo dinamico es tan dificil de manejar, que lo descartamos
- Hay pocos casos de uso que requieran eso
- Lo necesitamos como el pan de cada dia, pero las herramientas no lo soportan
Pregunto de curioso, pero tambien por dos razones:
- En anteriores proyectos (personales, o alguno profesional en .NET) siempre se me planteo como requerimiento el tema dinamico, y asi se implemento; solamente cuando fui a ver herramientas ya existentes vi que tienen configuraciones mas tendientes a: lo configuro todo al principio, y luego ya esta, queda asi, no hay tu tia.
- Lo que estoy haciendo en Node.js queda tan bonito si es dinamico ;-)
Gracias por cualquier info
Angel "Java" Lopez
@ajlopez
gh:ajlopez