Accede a todo EDteam con un único pago¡Sube a premium!

¿La arquitectura orientada a eventos es fácil?

Seguro has escuchado hablar sobre la arquitectura orientada a eventos, pero si no tienes ni idea de qué se trata o cómo funciona, no te preocupes, te lo explico en este blog ✍️

Diseño web
8 minutos
Hace un año
¿La arquitectura orientada a eventos es fácil?

Quiero comenzar este artículo, agradeciéndole al equipo que ha estado día a día conmigo para preparar el EDcamp Bogotá 2023, un evento que no es fácil. Cuando ellas se ofrecieron a ayudar, sentí un gran alivio y lo único que les di fueron tareas específicas: tú me ayudas a buscar el hotel, otra persona a buscar restaurante y otra persona el restaurante. Yo me quité esa responsabilidad y ellas solo me notificaron cuando lo terminaron.

Y sin darte cuenta, ya te comencé a hablar sobre arquitectura orientada a eventos (AOE).

¿Qué es la arquitectura orientada a eventos?

Imagínate que vas a un restaurante de comida rápida y, al llegar a la caja, le dices al cajero que quieres una hamburguesa con tales especificaciones. El cajero solo registra la compra y le envía un mensaje a la cocina, quien recibe la orden y efectúa la acción. Cuando está lista, la cocina le envía un mensaje al mesero para que despache la hamburguesa. El mesero, por su parte, busca al cliente y le informa que su pedido ya está listo y se lo entrega.

arquitectura-orientada-a-eventos-ejemplo-EDteam-EDcamp-bogotá-2023.png

Esa es la arquitectura orientada a eventos. Se trata de diferentes componentes que reaccionan a diferentes mensajes. Estos mensajes pueden ser procesados por uno o por varios componentes, a quienes llamaremos workers.

Estos workers son como los microservicios, pero corren en segundo plano. Es decir, un worker es un servicio que se dedica a hacer una tarea bien específica de manera correcta.

¿Cuáles servicios de cola puedes usar?

servicios-de-cola-arquitectura-orientada-a-eventos-EDteam-EDcamp-bogotá-2023.png

Existen muchísimos servicios para que comiences a utilizar la arquitectura orientada a eventos. Entre ellos, puedes elegir:

  1. 1- AWS: Tiene un servicio de colas de SQS (envía mensajes a todos los que estén conectados) y SNS (envía un solo mensaje al worker que esté desocupado).
  2. 2- Google Cloud: Tiene pub/sub. Es lo mismo que AWS.
  3. 3- redis: En EDteam usamos redis. Es supersencillo y dinámico, y no dependes de AWS o de Google Cloud y puedes moverte a cualquier nube.

Sin embargo, también existen toras opciones de software libre, que también sirve como procesadores. Reciben mensajes y los configuran para que: 1. O le envía a todos los workers que estén conectados o le envia al worker que esté desocupado. Esas opciones son: kafka, RabbitMQ y OMQ.

¿Cuánto utilizar la AOE?

  1. 1- Para escalabilidad.
  2. 2- Integración de sistemas.
  3. 3- Automatización de procesos de negocio.

¿Cuáles son las desventajas de la AOE?

  1. 1- Latencia
  2. 2- Complejidad de desarrollo

En resumen, la arquitectura orientada a eventos (AOE) simplemente son herramientas que responden a mensajes. Y cada una de esas herramientas (workers) realizan su trabajo correctamente. De esta forma, pueden escalar su proyecto de forma interesante.

Y si quieres ampliar esta explicación, no te pierdas el video completo de la charla de Alexys Lozada, CTO de EDteam, en el EDcamp Bogotá 2023.

Y si no lo sabías, #LoAprendisteEnEDteam.

Comentarios de los usuarios

Pregunta a ChatEDT