Get it on Google Play

Arquitectura de microservicios con REST, Gradle y Spring Boot

04-12-2015
 
Microservices Example

Microservices Example

Las grandes aplicaciones monolíticas ya no se llevan, siempre ha sido muy complicado trabajar con esos grandes bloques, es difícil, a muchos niveles: trabajo en equipo, externalización, escalabilidad, mantenibilidad, DevOps y un largo etc.

Ahora lo que se lleva son los microservicios, dividir tu aplicación en centenares de módulos independientes, que se comunican entre si, desplegados remotamente y logrando una gestión del proyecto mas sencilla.

En este post construiremos un microservicios que expondrá un servicio REST que será consumido por otros microservicio. Para ello utilizaremos Spring Boot, que nos permite crear una arquitectura de este tipo de una manera muy fácil. Para compilar utilizaremos Gradle, que es la nueva herramienta de automatización de tareas de moda.

Lo primero será crear la estructura de carpetas de nuestro proyecto(spring-micro-services), al estilo maven:

   [spring-micro-services]
        [src]
        [build.gradle]

Lo primero será configurar nuestro fichero ‘build.gradle’ (Importante, debéis tener instalado Gradle 2.3 o superior par que funcione):

Una vez hecho esto crearemos, en la carpeta ‘src’ de nuestro proyecto, la classe Java con el servicio REST:

La classe se explica por si sola, básicamente tenemos el método que escucha en ‘/’ que devuelve un listado de clientes y un método ‘Main’ que levanta un servidor. Para compilar:

	gradle build

Esto nos generará un fichero ‘jar’ que ya incluye todas las dependencias. Para ejecutar el microservicio por el puerto ‘8080’ usamos el comando:

	java -jar build/libs/spring-micro-services-0.0.0.jar –server-port=8080

Si visitamos la URL ‘http://127,0,0,1:8080’ esto nos devolverá un JSON con la siguiente pinta:

{"clients":["Mi cliente","Pepe","Juan"],"success":"1"}

Vemos que para crear nuestro microservicio REST es muy sencillo. Ahora solo nos queda consumirlo desde otra parte, con este simple script de dos líneas usando la classe RestTemplate recuperamos el objeto:

Crear microservicios con REST tiene la ventaja que te permite hacer las llamadas desde máquina remotas, incluso máquinas que no controlas tu o que tienen arquitecturas totalmente distintas.

En fin, esperando que os sea de utilidad, buen fin de semana.

Leave a Reply

© Albert Coronado Calzada