DataBaseGeneralLinuxServidoresTecnologíaWeb

Microservicios en Java con Spring Boot, Front-End y Back-End.

Aplicación de microservicios desarrollada en Java creada con Spring Framework que consta de front-end que consume el servicio de back-end. Esta primera entrega corre de modo local y de igual forma se ha instalado en una instancia de Google Cloud Plataform, la cual se modificará en las siguiente entrega para usar un servicio de base de datos MySQL. 

A través de la integración posterior de Spring Cloud GCP adoptará algunas de las mejores prácticas para el seguimiento, la gestión de la configuración y la integración con otros servicios mediante patrones de integración.

Propiamente esta aplicación base se escalará como MySQL con Cloud SQL, servicios de canalización de mensajería como RabbitMQ con Pub/Sub, tiendas de rastreo distribuidas como Zipkin con Cloud Trace y servicios de servidor de configuración centralizados con Cloud Runtime Configuration API.

Finalmente, implementará componentes de la aplicación en App Engine y Kubernetes Engine, y mostraré cómo usar Cloud Trace para depurar y monitorear su aplicación cuando se implemente en esos servicios.

En GCP Training encontrará información y cursos relacionados con la implementación de microservicios en Google Cloud Platform, y otras materias relacionadas.

Repositorio

El código fuente de los servicios front-end y back-end lo encontrará en el siguiente repositorio que lo puede clonar en su computador local: https://github.com/DaveSV/Java-Microservices-with-Spring-Boot

git clone https://github.com/DaveSV/Java-Microservices-with-Spring-Boot.git

JVM

Deberá tener instalado Java SE 8 que es el entorno de desarrollo para crear aplicaciones utilizado en el desarrollo de estos microservicios.

Para su descarga y guias de instalación puede visitar el sitio oficial de Oracle.

Back-end

Para correr el servicio de back-end abra una consola en el siguiente directorio:

/guestbook-service

Ejecute el siguiente comando:

./mvnw -q spring-boot:run -Dserver.port=8081

Abra una nueva pestaña de consolal para probar la aplicación de back-end. Mientras la aplicación backend ( guestbook-service) aún se está ejecutando, pruebe el servicio ejecutando el siguiente comando en la segunda consola:

curl http://localhost:8081/guestbookMessages

Haga uso del servicio posteando un nuevo mensaje:

curl -XPOST -H "content-type: application/json" \
  -d '{"name": "Ray", "message": "Hello"}' \
  http://localhost:8081/guestbookMessages

Luego, vuelva a solicitar el listado de mensajes:

curl http://localhost:8081/guestbookMessages

Tendrá una salida similar a esta:

Front-end

Para ejecutar la interfaz localmente, realice los siguientes pasos. Abra en una tercer consola en el siguiente directorio:

/guestbook-frontend

Para ejecutar la aplicación front-end, ejecute el siguiente comando:

./mvnw -q spring-boot:run

Tendrá una salida similar a esta:

Abra una ventana de su explorador y digite:

http://localhost:8080/

La aplicación web front-end se inicia en el puerto 8080.

Escriba su nombre y para Mensaje escriba un mensaje. Haga clic en Publicar para continuar. Los mensajes se enumeran debajo de la sección de entrada de mensajes.

Para comprobar el servicio de back-end, realice los siguientes pasos. En la consola donde esta consumiendo el servicio enumere todos los mensajes que agregó a través de una llamada a la guestbook-serviceAPI de backend ejecutando de nuevo el siguiente comando:

curl -s http://localhost:8081/guestbookMessages

Puede usar la herramienta jq para analizar el texto de retorno JSON.

jq es una herramienta de terminal multiplafatorma que funciona en Linux, macOS y Windows. La herramienta permite filtrar, extraer, buscar o modificar los datos dentro de un fichero JSON.

Si estás utilizando Ubuntu o alguna distribución basada en Debian, puedes instalar jq con el siguiente comando: «sudo apt-get install jq».

En sistemas CentOS o RHEL, puedes instalar jq con el siguiente comando: «sudo yum install jq».

Si estás en un sistema macOS con Homebrew instalado, puedes instalar jq con el siguiente comando: «brew install jq».

Para Windows, puedes utilizar la versión precompilada de jq. Descarga jq desde el siguiente enlace: https://stedolan.github.io/jq/download/.

Una vez instalado jq ejecute el siguiente comando. Por ejemplo, el siguiente comando imprime solo los mensajes:

curl -s http://localhost:8081/guestbookMessages | jq -r '._embedded.guestbookMessages[] | {name: .name, message: .message}'

Tendrá una salida similar a esta:

Conclusión

La aplicación de demostración es una aplicación Java simple compuesta por un backend de microservicios y un frontend que lo consume. Se amplía esta sencilla aplicación en entregas posteriores para aprovechar varios servicios de Google Cloud. Eventualmente, se implementará paso a paso en la nube, utilizando tanto App Engine como Google Kubernetes Engine.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *