</> CodeBooks
    ← Volver a Arquitectura de software (página 5)
    Portada de Building Event-Driven Microservices

    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?

    TeóricoPráctico

    Teoría + práctica

    • ✗ Sin ejercicios
    • ✗ Sin proyectos

    Más de Arquitectura de software con nivel Intermedio