2 days
Online / Zoom
English
Certificate
15 people max
Victor Rentea
€7500
9375
This 2-day course covers the fundamentals of Event-Driven Architectures, focusing on scalable, fault-tolerant systems. You'll learn about key tools like RabbitMQ and Kafka, with practical exercises to design and assess architectural solutions.
Introduction
Event-driven architectures can help build autonomous, scalable and fault-tolerant systems. However, like any architecture, it has distinctive features that can cause far-reaching complications if not understood well. Join this training to gain a deep understanding of the fundamental concepts as well as patterns and pitfalls of Event-Driven Architectures. Developers of any programming language can attend, because the focus will stay on a pragmatic understanding of architectures and tools rather than specific implementations. The acquired skills will allow participants to correctly design architectural solutions and perform thorough tradeoff analysis and risk assessments. You’ll also learn how tools like RabbitMQ, Kafka, and Cloud-Native messaging systems differ and how selecting them can impact your architecture.
During the training, you can expect explanations in simple terms, accompanied by suggestive visuals and real-world analogies that will help you easily understand and remember complex topics. The teaching style will be highly interactive, with plenty of debates to engage in. You'll have endless opportunities to discuss issues that are of interest to you, and there will be many simple exercises to apply the concepts you learn.
Agenda
Event Storming
Workshop with non-tech PO/BA/BIZ (2h, optional)
Overview of Event-Driven Architectures
Comparison with classic synchronous communication (like REST)
Message Delivery Guarantees for reliable communication between services
Events vs Commands 💬 Quiz
Dual Write Problem: update DB + send message 🛠️Outbox Table
Introduction to Event-Streaming 🛠️Splitter & Aggregator using KStream/KSQL
Migration strategies from synchronous communication to event-driven architectures
Event Sourcing (optional)
Event Storming Exercise
Event-Sourcing Mindset
Commands apply changes via emitting Events
Events as the Source of Truth
Aggregates: mutable or immutable
Event Store: append-only log of events; key features
Command Validation
Read Projections
Event Schema Versioning
Concurrency Control
Snapshots: design options
Kafka Streams (optional)
Basic Operations
Joining and KTables
Aggregation and Time Windows
Testing
Exception Handling
Processor API
Interactive Queries
Victor Rentea
Victor is a Java Champion, Java Enterprise Architect, and Independent Trainer, delivering intense masterclasses for companies worldwide since 2014. He is passionate about software architecture, clean code, refactoring, and unit testing. He is a regular speaker at top international conferences. He's also the founder of the Bucharest Software Craftsmanship Community with 4000 members.