/ejercicioMicroserviciosSpringCloud

Microservices demo using Spring Boot, Spring Cloud Config, Eureka, Feign, Hystrix and Zipkin.

Primary LanguageCSS

ejercicioMircroserviciosSpringCloud

Microservices demo using Spring Boot, Spring Cloud Config, Eureka, Feign, Hystrix and Zipkin.

Ejercicio Microservicios Spring Cloud

  • Contiene 12 microservicios distintos.

    • Servidor Configuración (Spring Cloud Config) Microservicio encargado de proveer los ficheros de configuración al resto de microservicios.
    • Servidor Registro (Eureka) Servicio donde se registra el resto de microservicios. Su url de acceso es http://localhost:8084/
    • Servidor Autorización (Oauth2 Authorization Server). Servidor que valida los accesos a los microservicios. Contiene una base de datos con los credenciales permitidos.
    • Servidor Hystrix - (Hystrix Dashboard) - Servicio de información de las distintas ejecuciones de llamadas entre microservicios. Su url de acceso es http://localhost:8072/hystrix
    • Servidor Zipkin - (Zipkin Dahsboard) - Servicio de Log distribuido. Permite visualizar la ejecución y llamadas entre los microservicios. Su url de acceso es http://localhost:9411
    • Libros - Microservicio mantenimiento entidad libros.
    • Categorias - Microservicio mantenimiento entidad categorias.
    • Editoriales - Microservicio mantenimiento entidad editoriales.
    • Autores - Microservicio mantenimiento entidad autores.
    • Biblioteca - Microservicio biblioteca.(Microservicio Edge que accede al resto de microservicios)
    • ServicioZuul - Proxy Inverso con entrada a la aplicación. Tiene parametrizado el microservicio Biblioteca.
    • BibliotecaVaadin - Frontal Web Vaadin para visualizar la información. Hace uso del servidio Edge de Bilioteca para el acceso a datos. Su url de acceso es http://localhost:8086/
  • Contiene 2 librerías de utilidades.

    • ejercicio-dto - Contiene todos los contratos de entrada/salida de los distintos REST usados. Todos los microservicios de la biblioteca lo importan.
    • BibliotecaCliente - Interfaz Feing y Controlador de error con Hystrix implementado para las distintas llamadas a los microservicios. Este cliente es usado por Biblioteca para obtener la información de las disintas entidades.
  • La entrada para obtener la información será a traves del puerto 8080 de Zuul.

Actualización Docker

  • Para generar imagen docker
    • mvn package -P docker
    • mvn -DCONFIG_HOST=192.168.99.100 package -P docker

Para establecer valor de variable de entorno al iniciar contenedor incluir -e VARIABLE = VALOR

  • Para arrancar servicio configuracion: docker run -p 8888:8888 -d --name servidorconfiguracion servidorconfiguracion:0.0.1-SNAPSHOT
  • Para arrancar servicio eureka docker run -p 8084:8084 -d --name servidorregistro servidorregistro:0.0.1-SNAPSHOT
  • Para arrancar servidor zipkin docker run -e CONFIG_HOST=192.168.99.100 -e PROFILE=docker -p 9411:9411 -d --name servidorzipkin servidorzipkin:0.0.1-SNAPSHOT
  • Para arrancar servidor autotizacion docker run -e CONFIG_HOST=192.168.99.100 -e PROFILE=docker -p 9000:9000 -d --name servidorautorizacion servidorautorizacion:0.0.1-SNAPSHOT
  • Para arrancar servicio zuul docker run -e CONFIG_HOST=192.168.99.100 -e PROFILE=docker -p 8080:8080 -d --name serviciozuul serviciozuul:0.0.1-SNAPSHOT
  • Para arrancar autores docker run -e CONFIG_HOST=192.168.99.100 -e PROFILE=docker -d --name autores autores:0.0.1-SNAPSHOT
  • Para arrancar categorias docker run -e CONFIG_HOST=192.168.99.100 -e PROFILE=docker -d --name categorias categorias:0.0.1-SNAPSHOT
  • Para arrancar editoriales docker run -e CONFIG_HOST=192.168.99.100 -e PROFILE=docker -d --name editoriales editoriales:0.0.1-SNAPSHOT
  • Para arrancar libros docker run -e CONFIG_HOST=192.168.99.100 -e PROFILE=docker -d --name libros libros:0.0.1-SNAPSHOT
  • Para arrancar biblioteca docker run -e CONFIG_HOST=192.168.99.100 -e PROFILE=docker -d --name biblioteca biblioteca:0.0.1-SNAPSHOT
  • Para arrancar bibliotecavaadin docker run -e CONFIG_HOST=192.168.99.100 -e PROFILE=docker -p 8086:8086 -d --name bibliotecavaadin bibliotecavaadin:0.0.1-SNAPSHOT

La url de acceso es http://192.168.99.100:8086/