Dom. May 18th, 2025

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.

por AlbertBL

Deja una respuesta

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