Este ejemplo se utilizó para demostrar la comunicación entre microservicios y balanceo de cargas utilizando Consul como componente de Service Discovery y Ocelot como API Gateway.
- Consul
- Ocelot (Ya no recibe actualizaciones, se recomienda buscar alternativas para entornos de producción)
- Docker
Ejecutar el archivo docker-compose.yml dentro del repositorio.
docker-compose up -d
Con esto vamos a crear y correr los containers que contendran a Consul, Ocelot y 3 replicas de la API Service.
Ahora se pueden chequear el estado de los servicios dentro de Consul abriendo en el navegador la siguiente URL:
http://localhost:8500
Se puede visualizar el estado del mismo Consul, y el de "Service" con las 3 instancias.
El servicio de Ocelot está configurado en el puerto 8080, podemos realizar la consulta hacia los "Service" viendo como cambia la respuesta.
Se puede probar el balanceo del mismo deteniendo algunas de las instancias de la API "Service".