Fundamentos de microservicios
Características de microservicios
- Autónomos
- Especializados
- Registro y auto-descubrimiento de servicios
- Escalado flexible
- Tolerancia a fallos
- Balanceo de cargas
- Configuración centralizadas
- Libertad tecnológica
- Agilidad y equipos mas pequeños
- Ciclo de desarrollo mas cortos
- Código reutilizable
Herramientas
- Spring Boot
- Spring IoC
- Spring Data JPA e Hibernate
- API REST
- Spring Cloud
- Servidor Eureka Netflix (Servidor de nombre)
- Eureka Client (Cada microservicio tiene que ser un cliente del Servidor de nombre)
- RestTemplate (Cliente HTTP)
- Feign (Cliente HTTP)
- Ribbon (balanceador de carga)
- Hystrix (Tolerancia a fallos)
- Gateway Zuul (Es la puerta de enlace o Puerta de entrada principal : Utiliza Ribbon, Hystrix)
- Spring Cloud Server Config (para centralizar todas las configuraciones)
- Spring Security OAuth2
- JWT
¿Que son los microservicios?
Los microservicios son un conjunto de componentes pequeños y
autónomos que colaboran entre sí.
Características:
- Función única
- Independientes (No conocen la implementación de los demás servicios)
- Registro y auto-descubrimiento de servicios (Eureka Netflix)
- Auto escalado y agilidad
- Confiabilidad y tolerancia a fallos (Herramienta Hystrix - Si ocurre un timeout ejecutar otra instancia de ese servicio).
- Balanceo de cargas (Herramienta Ribbon)
- Configuración centralizada (Spring cloud config – utiliza GIT)
- Nueva tecnología y adopción de procesos
- Reducción de costo
- Ciclo de liberación más rápidos
- Equipos de desarrollo mas pequeños
0 Comentarios