![Page 1: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/1.jpg)
Introducción a arquitecturas basadas en microservicios
Introducción a arquitecturasbasadas en microservicios
![Page 2: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/2.jpg)
Introducción a arquitecturas basadas en microservicios
¿Qué son los microservicios?
“Microservices is a software architecture style, in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled and focus on doing a small task.”
![Page 3: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/3.jpg)
Introducción a arquitecturas basadas en microservicios
Arquitecturas monolíticas vs arquitecturas de microservicios
Arquitecturas monolíticas (pre-SOA) Arquitecturas SOA Microservicios
![Page 4: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/4.jpg)
Introducción a arquitecturas basadas en microservicios
Beneficios de arquitecturas basadas en microservicios
Principio de responsabilidad única: Cada microservicio hará una cosa, pero la hará bien.
“VS”
MicroserviciosMonolítica
![Page 5: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/5.jpg)
Introducción a arquitecturas basadas en microservicios
Desarrollo más eficiente al ser servicios más pequeños y especializados.
Beneficios de arquitecturas basadas en microservicios
“VS”
MicroserviciosMonolítica
![Page 6: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/6.jpg)
Introducción a arquitecturas basadas en microservicios
Escalado eficiente, elástico y horizontal en función de la demanda.
Beneficios de arquitecturas basadas en microservicios
“VS”
MicroserviciosMonolítica
![Page 7: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/7.jpg)
Introducción a arquitecturas basadas en microservicios
Beneficios de arquitecturas basadas en microservicios
Políglota, cada servicio puede estar desarrollado con una tecnología diferente.
Beneficios de arquitecturas basadas en microservicios
“VS”
MicroserviciosMonolítica
![Page 8: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/8.jpg)
Introducción a arquitecturas basadas en microservicios
Despliegue independiente de cada microservicio.
Beneficios de arquitecturas basadas en microservicios
“VS”
MicroserviciosMonolítica
![Page 9: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/9.jpg)
Introducción a arquitecturas basadas en microservicios
Casos de uso
![Page 10: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/10.jpg)
Introducción a arquitecturas basadas en microservicios
Desafíos derivados de una arquitectura de microservicios
![Page 11: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/11.jpg)
Introducción a arquitecturas basadas en microservicios
¿Qué necesitamos en una arquitectura basada en microservicios?
![Page 12: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/12.jpg)
Introducción a arquitecturas basadas en microservicios
Arquitectura de microservicios
Edge Service
Registry
Load Balancer
RibbonRibbon
Microservicio
Configuración
Logging
Circuit Breaker
![Page 13: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/13.jpg)
Introducción a arquitecturas basadas en microservicios
Vista general en una arquitectura basada en microservicios: Netflix
Zuul
EurekaServer
Ribbon
RibbonRibbon
Microservicio
Configuración
Logging
Hystrix
(Spring, Cloud, Config, etc.)
(Log4, Blitz4J, ELK, etc.)
![Page 14: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/14.jpg)
Introducción a arquitecturas basadas en microservicios
Registry: Autodescubrimiento con Eureka
@Configuration@EnableAutoConfiguration@EnableEurekaClient@RestControllerpublic class EurekaClientApplication {
@RequestMapping("/") public String home() { return "Hello World" ; }
public static void main(String[] args) { SpringApplication .run(EurekaClientApplication.class, args); }
}
Cliente Eureka
@SpringBootApplication@EnableEurekaServer@EnableDiscoveryClientpublic class EurekaServerApplication {
public static void main(String[] args) { SpringApplication .run(EurekaServerApplication.class, args); }
}
Servidor Eureka
![Page 15: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/15.jpg)
Introducción a arquitecturas basadas en microservicios
Load Balancer: Ribbon
Instancia 2
Instancia n
Instancia 1
EurekaServer
Ribbon
...
![Page 16: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/16.jpg)
Introducción a arquitecturas basadas en microservicios
Edge Service: Zuul
●
●
![Page 17: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/17.jpg)
Introducción a arquitecturas basadas en microservicios
Circuit Breaker: Hystrix
![Page 18: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/18.jpg)
Introducción a arquitecturas basadas en microservicios
Circuit Breaker: Hystrix
![Page 19: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/19.jpg)
Introducción a arquitecturas basadas en microservicios
Circuit Breaker: Hystrix
Ejemplo de monitorización en tiempo real de un microservicio utilizando Hystrix
![Page 20: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/20.jpg)
Introducción a arquitecturas basadas en microservicios
Monitorización: Turbine y Graffite
Ejemplo de dashboard en tiempo real de varios microservicios utilizando Turbine
![Page 21: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/21.jpg)
Introducción a arquitecturas basadas en microservicios
Configuración: Spring Cloud Config y/o Archaius
![Page 22: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/22.jpg)
Introducción a arquitecturas basadas en microservicios
Logging: Log4J 2.0 + RSyslog
![Page 23: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/23.jpg)
Introducción a arquitecturas basadas en microservicios
¡A programar!
"Lo que tenemos que aprender lo aprendemos haciéndolo"
Aristóteles
![Page 24: Introducción a arquitecturas basadas en microservicios](https://reader031.vdocumento.com/reader031/viewer/2022021922/586fe2381a28ab18428b7acb/html5/thumbnails/24.jpg)
Introducción a arquitecturas basadas en microservicios
Muchas gracias :)