Microservicios con Java
De qué se trata
Este Taller esta elaborado para desarrollar proyectos basado en arquitectura de micro servicios con Spring Boot y Spring Cloud, uso de Kafka y Kubernetes.Veremos patrones de diseño para micro servicios como SAGA, CQRS y Event Sourcing, y como implementarlos con Kafka. Asimismo en esta edición se incluirá como trabajar una Arquitectura Hexagonal.
El curso se desarrollará de manera práctica con testing y despliegue de micro servicios en contenedores Docker y Kubernetes, así como despliegue en un proveedor de nube como Azure y AWS.
El plus de este taller veremos también BD SQL, NoSQL, RabbitMQ, Kafka, Docker, Kubernetes, Helm, Jenkins, y varios servicios de AWS y Azure.
Que aprenderas?
Después de este curso, los participantes entenderán como iniciar e implementar arquitecturas de micro servicios con Spring Boot, Spring Cloud y Quarkus:Microservicios
- Principios de Micro servicios
- Beneficios
- Anti-patrones
- Bloques de construcción: RESTful APIs, API Gateway, Comunicación Event-Driven, Seguridad
- Patrones de administración de datos
- CQRS y Event Sourcing
- Patrón SAGA
- Factores de exito: Logging, Monitoreo y Alertas, Documentación
- Deployment e infraestructura: contenerización, herramientas y tecnologías
- Recomendaciones para migrar un monolito a micro servicios
- Arquitectura Hexagonal - Implementación
Contenidos de Spring Boot y Spring Cloud
- Spring Boot
- Spring WebFlux
- Desplegando nuestros Micro Servicios con Docker
- Documentando nuestras APIs con OpenAPI/Swagger
- Agregando Persistencia (SQL y NOSQL)
- Project Reactor: Mono y Flux
- 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
Apache Kafka para Microservicios orientado a eventos con Spring Boot
- Introducción a Kafka
- Apache Kafka Broker(s)
- Tópicos en Apache Kafka
- Productores en Apache Kafka
- Consumidores en Apache Kafka
- Spring Boot como Productor
- Acuse de recibo y reintentos
- Spring Boot como Consumidor
Bonus
- Revisión de servicios de integración en Azure y AWS
Requisitos
- Conocimiento de Java 11 o superior
- Uso de un controlador de versiones como GIT (opcional)
- Uso de Docker Desktop
- Uso de curl
- Intellij IDEA Community + Visual Studio Code