Seguimos con la tercera entrega de la serie Spring boot, en este caso se trata de hacer la integración de los distintos servicios web con Spring cloud.

MicroS5 spring boot 3.4 1
MicroS5 spring boot 3.4 2

No hemos indicado el host y el puerto del servicio sino el nombre que recibe en Eureka; el API de Spring cloud se encarga de resolver el host y el puerto en cada llamada repartiendo la carga.

Comunicación entre microservicios

Como advertimos, al realizar una implementación de microservicios estos no deben conocerse entre sí para evitar dependencias directas entre ellos.

Aun así, es necesario que puedan comunicarse entre ellos, por ejemplo si queremos que cuando se borre un usuario se eliminen también los productos que tenga ese usuario asociados.

Para ello se hace uso de dos patrones software, el patrón eventBus y el patrón commander. Se realizan los siguientes pasos:

MicroS5 spring boot 3.4 3

Ventajas de esta arquitectura

Servicio de agregación

Para exponer el API de los microservicios hemos creado un servicio de agregación que se encarga de realizar las llamadas a los microservicios usando balanceo de carga.

De esta forma exponemos un solo servicio y éste se encarga de invocar a Eureka para saber dónde están ubicados los microservicios e invocarlos enviando el resultado al cliente final.

Puede integrar una caché de datos que evite invocar los servicios si no es necesario, e integrar la actualización de dicha caché teniendo en cuenta los eventos de actualización y borrado de datos.

MicroS5 spring boot 3.4 5 b

El resultado de este servicio se puede ver como se ve en la imagen:

MicroS5 spring boot 3.4 6

Con este breve repaso hemos anotado la configuración de los servicios en la nube y sus distintas dependencias. Para terminar esta aproximación a Spring boot, en la siguiente y última entrega analizaremos la automatización de los microservicios mediante contenedores.

Analizamos a fondo Microservicios con Spring Boot en 4 entregas:

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete

Estamos comprometidos.

Tecnología, personas e impacto positivo.