Cargando…

EVENT-DRIVEN ARCHITECTURE IN GOLANG building complex systems with asynchronicity and eventual consistency /

Begin building event-driven microservices, including patterns to handle data consistency and resiliency Key Features Explore the benefits and tradeoffs of event-driven architectures with practical examples and use cases Understand synergy with event sourcing, CQRS, and domain-driven development in s...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Stack, Michael (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: [S.l.] : PACKT PUBLISHING LIMITED, 2022.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: Event-Driven Fundamentals
  • Chapter 1: Introduction to Event-Driven Architectures
  • Technical requirements
  • An exchange of facts
  • Event notifications
  • Event-carried state transfer
  • Event sourcing
  • Core components
  • Wrap-up
  • The MallBots application
  • The pitch
  • Application services
  • API gateway services
  • Clients
  • A quick note about hexagons
  • Benefits of EDA
  • Resiliency
  • Agility
  • User experience (UX)
  • Analytics and auditing
  • Challenges of EDA
  • Eventual consistency
  • Dual writes
  • Distributed and asynchronous workflows
  • Debuggability
  • Getting it right
  • Summary
  • Chapter 2: Supporting Patterns in Brief
  • Domain-driven design
  • DDD misconceptions
  • So, what is it all about then?
  • How is it useful for EDA?
  • Domain-centric architectures
  • An evolving solution
  • Hexagonal architecture applied
  • Testing
  • A rulebook, not a guidebook
  • Should you use domain-centric architectures?
  • How is it useful for EDA?
  • Command and Query Responsibility Segregation
  • The problem being solved
  • Applying CQRS
  • When to consider CQRS
  • CQRS and event sourcing
  • Task-based UI
  • Application architectures
  • Monolithic architecture
  • Microservices
  • Recommendation for green field projects
  • Summary
  • Further reading
  • Chapter 3: Design and Planning
  • Technical requirements
  • What are we building?
  • Finding answers with EventStorming
  • What is EventStorming?
  • Big Picture EventStorming
  • Design-level EventStorming
  • Understanding the business
  • Recording architectural decisions
  • Summary
  • Further reading
  • Part 2: Components of Event-Driven Architecture
  • Chapter 4: Event Foundations
  • Technical requirements
  • A tour of MallBots
  • The responsibilities of the monolith
  • Module code organization
  • User interface
  • Running the monolith
  • A focus on event-driven integration and communication patterns
  • Taking a closer look at module integration
  • Using external data
  • Commanding external components
  • Types of events
  • Domain events
  • Event sourcing events
  • Integration events
  • Refactoring side effects with domain events
  • What about the modules not using DDD?
  • Summary
  • Chapter 5: Tracking Changes with Event Sourcing
  • Technical requirements
  • What is event sourcing?
  • Understanding the difference between event streaming and event sourcing
  • Adding event sourcing to the monolith
  • Beyond basic events
  • Adding the event sourcing package
  • Using just enough CQRS
  • A group of stores is called a mall
  • A group of products is called a catalog
  • Taking note of the little things
  • Connecting the domain events with the read model
  • Recapping the CQRS changes
  • Aggregate event stream lifetimes
  • Taking periodic snapshots of the event stream
  • Using snapshots
  • Summary
  • Chapter 6: Asynchronous Connections