Event-Driven Architecture: Guide to Concepts and Patterns for Streaming Services with Apache Kafka
Many forces affect software today: larger datasets, geographical disparities, complex company structures, and the growing need to be fast and nimble in the face of change.
Proven approaches such as service-oriented (SOA) and event-driven architectures (EDA) are joined by newer techniques such as microservices, reactive architectures, DevOps, and stream processing. Many of these patterns are successful by themselves, but as this practical ebook demonstrates, they provide a more holistic and compelling approach when applied together.
In this eBook, we’ll explain how event-driven architecture and stream processing tools such as Apache Kafka® can help you build business-critical systems. Topics covered include:
- How event-driven architecture works
- The benefits of event-driven systems: EDA, SOA, and reactive architectures
- Why replayable logs such as Kafka provide a backbone for both microservices communication and shared datasets
- How event collaboration and event sourcing patterns increase safety and recoverability with functional, event-driven programming
- The advantages data streaming platforms like Apache Kafka can bring for complex event processing
- Fundamental technologies within service oriented architectures like event sourcing, CQRS, and distributed systems
- How to apply event sourcing and CQRS patterns, and how to build multi-team systems with microservices and SOA
- How to use patterns such as “inside out databases” and event streams as a “single source of truth”
- Build service ecosystems that blend event-driven and request-driven interfaces using a replayable log and Kafka's Streams API
- Scale beyond individual teams into larger, department- and company-sized architectures, using data streams as a source of truth