Odio decirlo así, pero la única forma en que puedo responder a esta pregunta es pedirle más datos:
Esta pregunta es equivalente a preguntar: ¿qué elegirías para ir a la luna: la NASA Saturno, la Soyuz de la Agencia Espacial Federal Rusa o la Ariane 5 de la Agencia Espacial Europea?
En la superficie, todos parecen hacer lo mismo: llevar cosas al espacio, pero en realidad, cada uno de ellos tiene diferentes características de rendimiento, diferentes capacidades de carga útil y otras variaciones y limitaciones menores pero muy importantes.
Volviendo a su pregunta, generalmente no hay una respuesta “correcta” para ella. Todo es una cuestión de compensaciones. Estas compensaciones se realizan teniendo en cuenta el tiempo / fluidez del desarrollador con las tecnologías, la interoperabilidad del software elegido con la capa de almacenamiento y las fuentes de datos.
- ¿Con qué frecuencia crees que deberías haber nacido en otro país? ¿Por qué? ¿En qué país anhelas estar?
- Si le pidieran que nombrara las cuatro casas, ¿cómo las llamaría?
- Supongamos que la clonación humana se hace posible en un futuro cercano. ¿Cuáles serían sus desventajas (si las hubiera)?
- ¿Qué sucederá si en este mismo mundo el mal / pobreza / oscuridad / fracasos / atraco y demás no existen?
- ¿Cómo resolvería la crisis actual en Irak?
Aquí hay algunos recursos que pueden ayudarlo a tomar una decisión:
[1] ¿Cómo se compara S4 con Flume? en Quora
[2] La publicación de Twitter Engineering Blog que analiza Storm http://engineering.twitter.com/2… [Sección: Relación con el procesamiento de eventos complejos donde se comparan S4 y Storm]
Un par de notas para completar esta respuesta:
Como he dicho antes, la elección entre los 3 sistemas es una función de su capa de almacenamiento de datos, sus preferencias de administración del sistema (centralizado, distribuido), las características de la fuente de datos, las limitaciones de rendimiento del sistema y sus preferencias de desarrollador. Lo que es correcto para usted podría no ser adecuado para otra persona. Así que tenlo en mente.
No quería cerrar esta respuesta porque estaba mal hecha y no daba una respuesta difícil, así que aquí está mi opinión:
Personalmente, me gusta la arquitectura de Storm. Su capa subyacente de paso de mensajes es ZeroMQ (http://www.zeromq.org/), que fue construida por Peter Hintjens (uno de los miembros fundadores de AMQP, el sistema de paso de mensajes que se está construyendo para sistemas financieros) y las garantías otorgadas por el servicio parece excelente (especialmente procesamiento de mensajes garantizado y sin tareas huérfanas, lo cual es bastante difícil de lograr en sistemas distribuidos). Además, ZeroMQ tiene un conjunto de optimizaciones ingeniosas bajo el capó que le brinda un rendimiento increíble en modo por lotes (afirman que es más rápido que TCP). Desafortunadamente, no tengo experiencia personal en el uso del servicio, así que siéntase libre de tomar esto con un grano de sal.
–
Actualización: un amigo mío llamó a esto también una respuesta diplomática. Aquí está la versión sin filtro: S4 tiene errores, Flume es una tubería de procesamiento de registros y Storm es increíble. 🙂