Repositorio simple para el uso y despliegue de servicios a través de docker-compose.
Dicho repositorio muestra también como funciona, de una manera muy simple, la comunicación entre módulos.
Por un lado tendremos un endpoint /
que contiene el mensaje del module-a
("Hello"
) y por otro lado
tendremos el endpoint /moduleB
que contendrá el mensaje referente al module-b
("module-b!""
).
Posteriormente se ha utilizado un RestTemplate
para favorecer dicha comunicación entre módulos
y dar lugar a un mensaje en conjunto a través del endpoint (/
) de module-a
: Hello module-b!
.
En otras palabras, module-a
llama a module-b
.
Para iniciar la aplicación, debemos correr los siguientes comandos:
mvn clean package
docker-compose build --no-cache app
docker-compose up --build
Se debe tener Docker-Desktop
en el ordenador, puesto que se va a crear un contenedor de la app (modulea-compose-microservices-example
)
que contendrá los siguientes servicios:
- servicio con la app principal (
module-a
: http://localhost:8080) - servicio con module-b (este servicio sólo es accesible a través de
module-a
)
Module a
: https://module-a.52.209.128.30.nip.io
mvn com.coveo:fmt-maven-plugin:format
mvn com.coveo:fmt-maven-plugin:check
mvn clean spring-boot:build-image -pl module-a
mvn clean spring-boot:build-image -pl module-b
kubectl delete service/module-a -n vass-radar-app
kubectl delete service/module-b -n vass-radar-app
kubectl delete deployment.apps/module-a -n vass-radar-app
kubectl delete deployment.apps/module-b -n vass-radar-app
kubectl apply -f service.yml
kubectl apply -f deployment.yml