Taller de Microservicios en Golang | Patron Sagas (Parte 1)



Taller de Microservicios en Golang | Patron Sagas (Parte 1)

Taller de Microservicios en Golang | Patron Sagas (Parte 1)

Discord de Gophers Latam: discord: https://discord.io/go-latam
Sponsos de Github: https://github.com/sponsors/tomiok
Blog en dev: https://dev.to/tomaslingotti

En este video vemos el patrón Sagas sagasPattern donde tenemos un producer y un consumer, en lugar de usar colas o message brokers como ActiveMQ o Apache Kafka, usamos una implementación propia con HTTP.

También usamos GoFiber o Fiber como librería web (https://gofiber.io/), para probarlo y mostrarlo a la comunidad ya que no es tan popular, pero si tiene un gran potencial y como vemos en el video, es muy facil de usar.

Recuerden que el patrón sagas, es orientado a eventos, entonces nosotros como desarrolladores debemos, en lugar de, modelar nuestro negocio con entidades, dirigir nuestros esfuerzos en modelar los eventos que van a ocurrir dentro del negocio y así van a ser éstos quienes “manejen” nuestro desarrollo, y no las entidades en sí.
Cada evento debe estar documentado y debe tener claros emisores y receptores, asi también sus acciones asociadas. Ya sea una toma de decisiones, un log, agregar un registro a una base de datos, etc.

Para finalizar, si van a encarar una arquitectura orientada a eventos, sugiero tambien siempre mantener un historico de eventos y un ID para identificarlos, asi el troubleshooting es mas fácil y rápido y se puede reintentar en caso de fallas.

Recuerden que los servicios orientados a Eventos pueden ser muy potentes y flexibles, una solución muy buena para nuestras necesidades.

Dejo la URL para que puedan leer mas sobre Sagas: https://microservices.io/patterns/data/saga.html

Github:
https://github.com/tomiok/golang-2020/tree/master/video-8
https://github.com/tomiok/golang-2020/tree/master/video-8-client

#GoFiber #microservices #sagaspattern

Comments are closed.