Respuesta corta y famosa: depende del contexto .
Respuesta larga en palabras amplias:
Las arquitecturas basadas en eventos solo son útiles cuando obviamente son el camino a seguir . Las arquitecturas basadas en eventos son eficientes en algunos escenarios, y las arquitecturas basadas en encuestas son en otros.
- ¿Por qué la mayoría de los trabajos de ingeniería remota de software usan lenguajes de programación diferentes a los trabajos de oficina estándar?
- ¿Por qué alguien le diría a un reclutador que él / ella puede aprender cualquier lenguaje de programación o marco si es contratado?
- ¿Qué debo hacer en el futuro como ingeniero de software?
- Como estudiante de secundaria, ¿cómo puedo prepararme para especializarme en ingeniería de software en la universidad?
- Si los requisitos del cliente cambian continuamente como probador, ¿cómo va a gestionar la situación?
1. La creación de eventos suele ser costosa . De hecho, la mayoría de las plataformas incluso crean sus llamados mecanismos de eventos además de los mecanismos de votación. Estas plataformas solo proporcionan ilusiones de sistemas controlados por eventos. Son abstracciones sobre las encuestas, y se aplica la ley de abstracción permeable.
2. Los sistemas controlados por eventos generalmente asumen una comunicación bidireccional : para poder recibir notificaciones cuando sucede algo, debe poder enviar la respuesta al cliente. Esto no es posible para un gran porcentaje de los sistemas que usamos hoy en día, por ejemplo, todos los sistemas basados en Solicitud-respuesta como HTTP están en esta categoría. Para estos sistemas, lo que hace posible el manejo de eventos es el sondeo detrás de escena.
3. Mantener una conexión viva todo el tiempo es costoso e imposible en algunas circunstancias. Un servicio de larga duración consumirá recursos para mantener la conexión abierta mientras no sea necesaria.
4. Las arquitecturas basadas en eventos suponen que los clientes están listos para recibir el evento todo el tiempo . En caso de sondeo, es más probable que reciba destinatarios que no fallan por sus respuestas. Tiene más casos extremos y escenarios de falla de los que preocuparse.
5. Las arquitecturas basadas en eventos son a menudo complejas de implementar, comprender y mantener . El evento controlado es multiproceso y asíncrono por naturaleza, donde ambos multiplican la complejidad polinomialmente.
Como últimas palabras, las arquitecturas dirigidas por eventos son “no nos llames, te llamaremos” donde las encuestas son “sigue llamándonos”. Se trata de mentalidad / contexto primero, no funcionales después.