
Building Event-Driven Microservices
Adam Bellemare
- Editorial
- O'Reilly
- Año
- 2020
- Páginas
- ~617
- Nivel
- Intermedio
De qué trata
Manual integral de Adam Bellemare publicado por O'Reilly en 2020 centrado en el diseño y despliegue de arquitecturas de microservicios orientadas a eventos (EDA) capaces de aprovechar los datos organizacionales a gran escala. El libro está dirigido a arquitectos de software, ingenieros de backend y desarrolladores de plataformas distribuidas con conocimientos previos en microservicios tradicionales basados en peticiones síncronas (REST o RPC) que necesitan evolucionar hacia modelos reactivos y asíncronos desacoplados en el tiempo.
La obra analiza en detalle el ciclo de vida de los eventos y la construcción de servicios distribuidos utilizando Apache Kafka como eje de mensajería persistente. Detalla el diseño y evolución de contratos de datos mediante esquemas serializados (Apache Avro y Schema Registry), el principio de escritor único (Single Writer Principle) y patrones de 'liberación de datos' para bases de datos heredadas, tales como Change Data Capture (CDC con Debezium) y el Transactional Outbox Pattern. También profundiza en el procesamiento de flujos sin estado y con estado (stateful streaming con agregaciones y ventanas temporales), procesamiento determinista, manejo de marcas de tiempo y eventos tardíos, orquestación frente a coreografía mediante el patrón Saga, e implementación mediante frameworks como Kafka Streams o arquitecturas serverless con FaaS.
En lugar de construir un único proyecto integral de principio a fin, la obra desarrolla ejemplos arquitectónicos aislados y patrones funcionales que enseñan a implementar componentes productores, consumidores, procesadores de streaming y servicios híbridos que conviven con APIs REST y gRPC. Aporta una metodología sumamente clara y contrastada para evitar errores frecuentes de consistencia, acoplamiento oculto y duplicidad en sistemas distribuidos. Deja fuera el código de frameworks específicos de frontend o interfaces de usuario, concentrándose exclusivamente en el plano de backend y streaming. Es muy recomendable contar con experiencia previa en Java u otro lenguaje orientado a servicios y entender los fundamentos de sistemas distribuidos.
- Microservicios
- Event-Driven Architecture
- Apache Kafka
- Kafka Streams
- Procesamiento de streams
- Change Data Capture (CDC)
- Outbox Pattern
- Patrón Saga
- Diseño de esquemas
- Consistencia eventual
- Sistemas distribuidos
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

