Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
ada:howto:sicoferp:factory:migracionsicoferp:process:backend:guiadependenciasmaven [2020/05/05 19:55] carlos.torres |
ada:howto:sicoferp:factory:migracionsicoferp:process:backend:guiadependenciasmaven [2020/05/05 20:40] (actual) carlos.torres |
||
---|---|---|---|
Línea 35: | Línea 35: | ||
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. | 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. | ||
+ | ==== Spring Cloud Netflix Eureka Discovery Client ==== | ||
+ | Eureka((https://blog.bi-geek.com/arquitecturas-spring-cloud-netflix-eureka/)) es un servicio REST, utilizándose principalmente en la nube de AWS, a la cuál está estrechamente ligado. Eureka se comporta como servidor, cuyo objetivo es registrar y localizar microservicios existentes, informar de su localización, su estado y datos relevantes de cada uno de ellos. Además, nos facilita el balanceo de carga y tolerancia a fallos. | ||
+ | La dependencia cliente permite que los microservicios se registren automaticamente al arrancar su instancia. | ||
+ | ==== Spring Web ==== | ||
+ | Contiene los recursos necesarios (conjunto de dependencias) para el desarrollo web((https://www.adictosaltrabajo.com/2016/12/22/aplicaciones-web-con-spring-boot-capa-a-capa/)). | ||
+ | ===== Dependencias de traza ===== | ||
+ | Son aquellas dependencias que permiten obtener infomración asociada al microservicio como: | ||
- | ==== Servicio de configuración central - ConfigServerADA ==== | + | * Estado |
- | 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. | + | * Memoria |
+ | * Trazas de rendimiento | ||
+ | * Log de errores | ||
- | === Ubicación === | + | Se define las siguientes dependencias de traza: |
- | El código fuente está uicado en la siguiente url: [[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/branches/development/core/ConfigServerADA|Ir al repositorio]] | + | |
- | === Modo de uso === | + | ==== Zipkin Client ==== |
- | Debe estar definido como una propiedad del archivo de configuración bootstrap.yml ó bootstrap.properties como se indica a continuación: | + | Zipkin((https://www.baeldung.com/tracing-services-with-zipkin)) es un proyecto de código abierto que proporciona mecanismos para enviar, recibir, almacenar y visualizar trazas. Esto nos permite correlacionar la actividad entre servidores y obtener una imagen mucho más clara de lo que está sucediendo exactamente en nuestros servicios. |
- | <code> | + | La dependencia cliente permite integrar el registro en el servidor Zipkin. |
- | spring: | + | |
- | cloud: | + | |
- | config: | + | |
- | discovery: | + | |
- | enabled: true | + | |
- | service-id: co.ada.core.server.config | + | |
- | </code> | + | |
- | ==== Servicio de registro / descubrimiento - EurekaServerADA ==== | + | ==== Spring for RabbitMQ ==== |
- | Se encarga de proveer los endpoints de los servicios para su consumo. Todo microservicio se registrará automáticamente en él en tiempo de bootstrap. | + | RabbitMQ es un servidor AMQP. Es decir acepta y reenvia mensajes. |
- | === Ubicación === | + | ===== Dependencias de clientes ===== |
- | El código fuente está uicado en la siguiente url: [[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/branches/development/core/EurekaServerADA|Ir al repositorio]] | + | Son aquellas dependencias que proveen clientes para el consumo de servicios como Feign o RestController |
- | === Modo de uso === | + | ==== OpenFeign ==== |
- | Debe estar definido como una propiedad del archivo de configuración bootstrap.yml ó bootstrap.properties como se indica a continuación: | + | Feign((https://github.com/OpenFeign/feign)) es un cliente java http ligero. Que se al stack Spring Boot para simplificar el consumo de los servicios. |
- | <code> | + | ===== Dependencias de datos ===== |
- | eureka: | + | Son aquellas relacionadas a la persistencia de la información o a la gestión y exposición de los datos. Entre ellas están definidas: |
- | client: | + | |
- | serviceUrl: | + | |
- | defaultZone: http://localhost:8761/eureka/ | + | |
- | </code> | + | |
- | ==== Servidor perimetral / exposición de servicios (Edge server) - ZuulServerADA ==== | + | * Spring Data JPA |
- | 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. | + | * RestRepository |
+ | * PostgresSQL Driver | ||
+ | * MySQL Driver | ||
+ | * Oracle Driver | ||
- | === Ubicación === | + | El uso de estas dependencias dependerá del origen de datos. |
- | El código fuente está uicado en la siguiente url: [[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/branches/development/core/ZuulServerADA|Ir al repositorio]] | + | |
- | === Modo de uso === | ||
- | Cada Microservicio debe estar registrado en las rutas de reconocimiento del servidor como una sección similar a la indicada a continuación: | ||
- | <code> | ||
- | zuul: | ||
- | routes: | ||
- | usuario: | ||
- | service-id: co.ada.core.service.userold | ||
- | path: /api/usuario/** | ||
- | </code> | ||
- | |||
- | La inclusión de la ruta debe ser solicitada al administrador de rutas de configuración. | ||
- | |||
- | ==== Servidor de Trazabilidad - ZipkinServerADA ==== | ||
- | Centraliza el proceso de trazas y log en los microservicios de forma centralizada. | ||
- | |||
- | === Ubicación === | ||
- | El código fuente está uicado en la siguiente url: [[http://adacsc.co:1443/svn/repository/ADA/SICOFERP/fuentes/branches/development/core/ZipkinServerADA|Ir al repositorio]] | ||
- | |||
- | === Modo de uso === | ||
- | Cada Microservicio debe incluir la siguiente dependencia: | ||
- | |||
- | <code> | ||
- | <dependency> | ||
- | <groupId>org.springframework.cloud</groupId> | ||
- | <artifactId>spring-cloud-starter-zipkin</artifactId> | ||
- | </dependency> | ||
- | </code> | ||
- | |||
- | Por defecto el servidor Zipkin se publica en el puerto 9411 | ||
[[ada:howto:sicoferp:factory:migracionsicoferp:process:backend|←Volver atrás]] | [[ada:howto:sicoferp:factory:migracionsicoferp:process:backend|←Volver atrás]] |