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, pero, agregamos el uso otro gran framework que es Quarkus.Asimismo aprenderemos a crear arquitecturas con CQRS y Event Sourcing con Kafka y Axon Framework. El curso se desarrollará de manera práctica con cada framework, se creará una cuenta en AWS para que puedan publicar sus servicios y se usará una herramienta como Jenkins para su despliegue en entorno staging y producción.
El plus de este taller veremos también BD SQL, NoSQL, RabbitMQ, Kafka, Docker, Kubernetes, Helm, Jenkins, y varios servicios de AWS como RDS, SNS, SQS, EKS, ECR, Fargate, EC2, Lambda, entre otros.
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: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)
- 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
Contenidos de Quarkus
- Qué es Microprofile?
- Estableciendo entorno de Desarrollo
- Desarrollando y Testeando Microservicio Number
- Desarrollando y Testeando Microservicio Book
- Establecinedo comunicación Resiliente
- Ejecutando la aplicación - imagen nativa - contenerizar imagen nativa
- Accediendo a BD relacionales con Quarkus
- JPA entities
- Panache entities
- Panache Active Record
- Uso de Repositories
- Mapeando entidades con XML y anotaciones
- Query a entities con Panache
- Exponiendo Data via REST
- Ejecutando la aplicación en Desarrollo y Producción
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
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
CQRS y Event Sourcing con Axon
- Plataforma Axon
- Configuración de Axons e infraestructura
- Microservicio Users: Dominio, Commands, Events, Aggregate, REST Controller, Queries, Query Handler
- Seguridad con OAuth 2.0: Asegurando el Command y Query
- API Gateway
- Otros microservicios
- Dockerizando nuestros microservicios
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
