Skip to content

Event-Driven Architecture and Data Streaming

Building Modern Distributed Systems with Apache Kafka and Spring Boot

This hands-on workshop demonstrates practical patterns for building event-driven systems. Learn CQRS, event sourcing, asynchronous messaging, and real-time data streaming through a complete Spring Boot application that simulates an e-commerce order processing system.

👨‍💻

Omar Bautista

Software Engineer

As a Software Engineer, I am driven by my passion for technology and constantly seek opportunities to expand my skillset. Currently, my expertise encompasses a range of technologies including Java, Spring, Spring Boot, Groovy, Grails, Hibernate, Jenkins, Docker, Unit and Integration Testing, Spock Framework, and Relational Databases, among others. In addition to my technical proficiency, I have gained valuable experience collaborating with both remote and on-site teams. I strongly believe in the power of knowledge sharing and actively engage in exchanging insights with my peers, fostering a culture of continuous self-improvement.

What We'll Learn During This Session

1. Event Sourcing Principles

Building systems around immutable event logs that capture state changes as a sequence of facts.

2. CQRS Pattern

Separating read and write operations for scalability and maintainability using CommandService and QueryService patterns.

3. Apache Kafka Fundamentals

Topics, producers, consumers, and message-driven architecture for distributed systems.

4. Spring Boot Integration

Spring Kafka, REST APIs, JPA, and multi-module project structure for production-ready applications.

5. Asynchronous Communication

When to use async messaging vs synchronous REST APIs and how to design hybrid systems effectively.

6. Real-World Example

E-commerce order processing with dual communication patterns demonstrating practical implementation.

7. Data Serialization

JSON vs Avro with Confluent Schema Registry for schema evolution and compatibility management.

8. Testing Strategies

BDD-style testing with Spock Framework for event-driven systems and CQRS patterns.

Workshop Objectives

🎯 Understand Event-Driven Architecture

Learn core patterns like event sourcing, CQRS, and message-driven communication in distributed systems.

🚀 Build Production-Ready Systems

Implement Spring Boot + Kafka applications with proper service separation, testing, and deployment strategies.

🔄 Master Asynchronous Communication

Know when to use Kafka vs REST and how to design hybrid systems that leverage both patterns effectively.

🏗️ Complete Hands-On Example

Work with a real multi-module application simulating order processing workflows with CQRS pattern.

Workshop Sections

Technology Stack

Backend

Spring Boot 4.0.6 • Java 25 • Spring Kafka • MySQL 8.x • Spring Data JPA

Frontend

Thymeleaf • Tailwind CSS • JavaScript

Infrastructure

Apache Kafka 3.x • Zookeeper • Docker Compose • Maven 3.x

All open source • Production ready • Multi-module Maven structure