¡Esta es una revisión vieja del documento!
La siguiente sección define las dependencias básicas que se deben tener presente y utilizar en el desarrollo de los microservicios de la fábrica según la necesidad de los mismos.
La siguiente imagen define el escenario estandar de dependencias que pueden ser utilizados en un microservicio. Posteriormente se describirá cada una deacuerdo al grupo al que pertenece.
Se definen las siguientes clasificaciones de dependencias:
Son aquellas dependencias que deben estár presentes en todos los microservicios ya que su uso aplica la arquitectura desea en la fabrica de desarrollo. A continuación se define esas dependencias:
Spring Boot DevTools1) es la herramienta de Spring Boot que nos permite reiniciar de forma automática nuestras aplicaciones cada vez que se produce un cambio en nuestro código. Utíl para la fase de desarrollo y pruebas.
Spring Boot Actuator2) es una librería que nos proporciona herramientas de monitorización y administración de nuestra API REST de una manera bastante sencilla.
Spring Cloud Config3) es el enfoque cliente / servidor de Spring para almacenar y servir configuraciones distribuidas en múltiples aplicaciones y entornos.
Este almacén de configuración se versiona idealmente bajo el control de versión de Git y se puede modificar en el tiempo de ejecución de la aplicación.
Se encarga de centralizar y proveer remotamente la configuración a cada microservicio. Esta configuración se mantiene convencionalmente en un repositorio, lo cual permite gestionar su propio ciclo de vida y versionamiento.
El código fuente está uicado en la siguiente url: Ir al repositorio
Debe estar definido como una propiedad del archivo de configuración bootstrap.yml ó bootstrap.properties como se indica a continuación:
spring: cloud: config: discovery: enabled: true service-id: co.ada.core.server.config
Se encarga de proveer los endpoints de los servicios para su consumo. Todo microservicio se registrará automáticamente en él en tiempo de bootstrap.
El código fuente está uicado en la siguiente url: Ir al repositorio
Debe estar definido como una propiedad del archivo de configuración bootstrap.yml ó bootstrap.properties como se indica a continuación:
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/
Servidor gateway en el que se expondrán los servicios a consumir. Todos los microservicios deben ser expuesto por este servidor por lo tanto deben registrar los path de rutas y deben ser únicos en todo el contexto de exposición de servicios de cada ambiente.
El código fuente está uicado en la siguiente url: Ir al repositorio
Cada Microservicio debe estar registrado en las rutas de reconocimiento del servidor como una sección similar a la indicada a continuación:
zuul: routes: usuario: service-id: co.ada.core.service.userold path: /api/usuario/**
La inclusión de la ruta debe ser solicitada al administrador de rutas de configuración.
Centraliza el proceso de trazas y log en los microservicios de forma centralizada.
El código fuente está uicado en la siguiente url: Ir al repositorio
Cada Microservicio debe incluir la siguiente dependencia:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
Por defecto el servidor Zipkin se publica en el puerto 9411