Spring Boot y Spring Cloud
De qué se trata
El Taller de Spring Boot y Spring Cloud nos permitirá crear aplicaciones en arquitectura de micro servicios.Desde lo más básico hasta un completo ecosistema de servicios interconectados mediante el registro y escalamiento dinámico con Eureka y Zuul, implementando balanceo de carga con Ribbon y tolerancia a fallos con Resilience4J.
Automatiza, escala y despliega en producción los micro servicios en contenedores Docker en Kubernetes. Asimismo veremos el nuevo servicio que nos da Azure Spring Cloud.
Se verá como dar seguridad a Zuul y proteger nuestros endpoints con Spring Cloud Security (OAuth2 y JWT).
Centralizaremos nuestra configuración en Spring Cloud Config Server y trazabilidad distribuida con Spring Cloud Sleuth y Zipkin.
Veremos en este taller varios componentes del ecosistema de Spring como IoC, Spring MVC, RestController, Servicios Web RESTful, cliente HTTP con RestTemplate y Feign, Spring Data JPA e Hibernate, usaremos base de datos como MySQL, PostgreSQL y MongoDB.
El plus de este taller es que veremos el stack reactivo desde la primera clase y veremos como aplicarlo en casos de uso práctico.
Asimismo veremos otras formas de comunicación diferente a REST como comunicación asincrona con mensajería (Rabbit MQ y Kafka).
Que aprenderas?
Después de este curso, los participantes entenderán como Spring Boot y Spring Cloud les permitirá construir arquitecturas de micro servicios:- Construir, implementar y escalar microservicios con Spring Boot, WebFlux y Spring Cloud
- Conectar, consumir microservicios con Feign, WebClient, RestTemplate
- Eureka (Discovery Server) y Spring Cloud Gateway
- Configuración Centralizada - Spring Cloud Config Server
- Autenticación y Autorización con Spring Cloud Security (OAuth2 y JWT)
- Docker y Kubernetes
- Consumir servicios web RESTful con Spring Boot
- Balanceo de Carga con Ribbon
- Tolerancia a fallas con resilience4j
- HATEOAS
- Logging de Micro Servicios
- Rastreo distribuido en microservicios con Spring Cloud Sleuth y Zipkin
- Monitoreo de Micro Servicios
Contenidos
- Spring Boot 3
- Spring WebFlux
- Desplegando nuestros Micro Servicios con Docker
- Documentando nuestras APIs con OpenAPI/Swagger
- Agregando Persistencia (SQL y NOSQL)
- Desarrollando Micro Servicios Reactivos
- Spring Cloud
- Service Discovery: Eureka y Ribbon
- Spring Cloud Gateway
- Asegurando nuestras APIs con OAuth 2.0
- Configuración Centralizada
- Resiliencia con Resilience4j
- Tracing Distribuido
- Usando Kubernetes
- Usando Service Mesh para Observabilidad y Administración
- Logging centralizado con Stack EFK
- Monitoreando Micro Servicios
CQRS y Event Sourcing con Kafka
- Configuración y Estructura
- Mensajes: Comandos y Eventos
- Command Dispatching
- Aggregates
- Almacen de Eventos
- Command Handling
- Productor de Eventos
- Capa de Dominio
- Event Handling
- Event Consumer
- Command Controllers
- Queries y Queries Dispatching
- Query Handling
- Query Controller
Requisitos
- Conocimiento de Java 8 o superior
- Uso de un controlador de versiones como GIT (opcional)
- Instalar Docker Community (Windows 10 PRO, Linux o MAC OSX)
- Intellij IDEA Community + Visual Studio Code