Iniciando con Microservicios

Realizado por: Grecia Delgado

con MoleculerJS

Monolitica 

contiene...

Una arquitectura 

Enrrutamiento

Middlewares

Logica de negocio

Acceso a la DB

Todos los features

necesarios para implementar 

en una app 

Microservicios 

contiene...

Un 

Enrrutamiento

Middlewares

Logica de negocio

Acceso a la DB

Un feature

necesarios para implementar 

en una app 

Cada servicio debe tener su propia base datos

Un servicio no debe "depender" de una base datos que no sea la suya

Regla #1 

Regla #2 

Se busca que cada servicio corra independientemente de otro

El esquema/estructura de la base de datos puede cambiar

Algunos servicios podrían funcionar mejor con otros tipos de DB's (sql vs nosql)

Veamos un ejemplo...

Sync

Async

Estrategias de comunicación entre microservicios

Sync

implica...

Una comunicación

Los servicios se comunican entre ellos usando REQUEST directos

Async

implica...

Una comunicación

Los servicios se comunican entre ellos usando EVENTOS

Veamos un ejemplo...

Sync

Ejemplo de una comunicación

Sync

Notas de una comunicación

Conceptualmente es fácil de entener

El servicio D no necesita de una DB

Se introduce dependencia entre servicios

Si algun request entre servicios falla, todos los request fallaran

El request completo solo será tan rapido como el request  mas lento que se de entre servicios

Puede ser una puerta de ingreso a "Webs of request"

Async 

Ejemplo de una comunicación

forma 1

Async 

Ejemplo de una comunicación

forma 2

Async - (forma 2)

Notas de una comunicación

El servicio D tiene cero dependencias!

El servicio D es muy rapido!

Duplicidad de Data. Tal vez se pague por mas almacenamiento 

Es mas complicado de comprender 

Revisemos un ejemplo...

Infraestructura ejemplo:

MUCHAS

GRACIAS!

Hecho con ♥ por Grecia Delgado

Correo: greciadm2596@gmail.com

twitter: @chezzgre
linkedin: Grecia Delgado Muñoz