Autor

Ingeniero de Software con diversos proyectos Java EE a sus espaldas. Actualmente desarrollando soluciones enfocadas a arquitecturas de microservicios con Spring Cloud y desarrollo continuo. Siempre con el objetivo de aprender y mejorar, para así poder trasladar la máxima calidad a los proyectos en los que participa.

Redactor en

Spring Cloud Consul (2/2): Configuración centralizada

En la primera parte de Spring Cloud Consul vimos qué es Consul, cómo se puede utilizar para descubrir microservicios y cómo montar un sistema entre Consul y Spring Cloud para hacer uso de esta funcionalidad.

En esta segunda entrega, analizaremos la capacidad de Consul de almacenar pares clave/valor y su integración con Spring Cloud, lo que proporciona la potencia suficiente para gestionar la configuración de forma centralizada.

También veremos cómo funciona Consul KV Store y cómo interactuar con él. Para ello, aprovecharemos el ejemplo del artículo anterior, tanto para ver un servicio externo como uno registrado en Consul y recuperar así su configuración sin tenerla almacenada en el propio servicio usando Spring Cloud, y que ésta configuración sea gestionada desde un repositorio Git para tenerla versionada y controlada.

Al final del artículo dejaré enlaces al código fuente generado para que se descargue si se quiere jugar con él.

sigue leyendo…

Spring Cloud Consul (1/2): Descubrimiento de microservicios

En un ecosistema de microservicios, en el cual generalmente cada uno de ellos está desplegado en un contenedor independiente y efímero, es necesario mantener a todos los integrantes informados de la localización de sus similares.

Dentro del stack Spring Cloud Netflix, el encargado de llevar a cabo esta labor es Eureka. Hashicorp Consul, además de realizar las labores de descubrimiento de servicios, nos permite, en un mismo componente, mantener la configuración centralizada de las aplicaciones de todo el sistema.

En esta serie de dos artículos vamos a introducir Consul y su integración con Spring Cloud, para el descubrimiento de servicios y gestión de la configuración de forma centralizada.

Además, vamos a ver cómo un pequeño sistema de microservicios Java recogen sus valores de configuración y se comunican entre ellos gracias a Consul.

sigue leyendo…

Trazabilidad Distribuida con Spring Cloud: Sleuth y Zipkin

 El auge de las arquitecturas de microservicios ha traído consigo algunos retos que debemos ser capaces de abordar para conseguir un sistema consistente, como son la monitorización, gestión de la configuración centralizada, centralización de logs…

En este tipo de arquitecturas una petición de un consumidor de nuestro sistema puede desencadenar varias llamadas internas entre microservicios, por lo que es importante poder asociar un identificador único de petición para que se pueda propagar entre estas llamadas y así poder posteriormente consultar las peticiones de forma centralizada. Spring pone a nuestra disposición herramientas que nos facilitan este trabajo: Spring Cloud Sleuth y Zipkin.

En este post explicaremos la forma de almacenar y explotar de forma centralizada la trazabilidad de peticiones a nuestros servicios utilizando estas herramientas.

trazabilidad-distribuida

sigue leyendo…