World Congress 2021 β€’ Jun 29, 2021

CQRS and Event Sourcing without the pixie dust

Allard Buijze

Microservices aren't magic. An event bus alone just creates a distributed ball of mud. Learn how true CQRS and event sourcing achieve genuine architectural modularity.

Pause
Mute Enter Fullscreen
#1 about 3 min

The evolution of monolithic layered architectures

How the traditional layered architectural pattern inevitably evolves into an unmaintainable big ball of mud.

#2 about 3 min

Splitting monoliths into distributed microservices architectures

Increasing the number of deployment units without increasing modularity results in a distributed big ball of mud.

#3 about 2 min

Combating technical debt and anti-modularity forces

Day-to-day workarounds and deferred refactoring actively degrade application architecture over time by accumulating unstructured dependencies.

#4 about 4 min

Decoupling microservices using event-driven communication models

Using publish-subscribe event models reduces direct service coupling but can obscure execution flow and logical dependency tracking.

#5 about 3 min

The false promises of event-driven microservices

Applying simplistic monolithic methodologies to modern message brokers often reproduces identical coupling issues inside distributed systems.

#6 about 5 min

Differentiating event streaming from true event sourcing

Event sourcing uses historical past decisions to explicitly dictate future application states rather than safely streaming update notifications between tables.

#7 about 4 min

Preserving historical state interactions for reliable auditability

Persisting absolute raw state modification sequences ensures uncompromised audit trails and simplifies managing inherently complex conceptual domain representations.

#8 about 4 min

Managing current state with CQRS and data projections

CQRS safely circumvents the query limitations of aggregated event logs by cleanly separating write models from read-optimized data projections.

#9 about 5 min

Building disciplined domain models for event-driven systems

Sustaining a successful event-centric integration strategy requires embracing domain-driven design modeling techniques instead of purely relying upon broker technologies.

#10 about 3 min

Defining commands, events, and queries in messaging

Understanding the explicit routing behaviors of different interaction patterns provides significantly better runtime decoupling between bounded domain functionalities.

#11 about 2 min

Achieving location transparency across distributed deployment units

Designing modules to communicate agnostically removes the brittle requirement to explicitly hardcode particular network recipient locations.

#12 about 4 min

Implementing CQRS and event sourcing in Java

Demonstrating a robust command validation model that safely enforces consistent backend business behaviors under concurrent transaction loads inside a monolithic setup.

#13 about 8 min

Dynamically splitting monoliths into distributed microservice components

Extracting previously composed backend modules into independent operational runtimes verifies the deployment agility produced by strict interface decoupling.

Matching moments

3:19 min

Core principles of transitioning to full event sourcing

Gerard Klijs Β· LIVE

5:37 min

Transitioning from synchronous microservices to event sourcing

Denis Washington +1 Β· World Congress 2021

4:23 min

Clarifying terminology around different event computing software forms

Mary Grygleski Mary Grygleski Β· LIVE

1:26 min

Implementing diverse architectural patterns beyond basic data operations

Vincent Amstoutz Vincent Amstoutz Β· Europe 2026 Virtual

2:08 min

Introducing beneficial architectural patterns like event sourcing

Stefan Priebsch Β· World Congress 2021

5:02 min

Audience Q&A on monolithic versioning and configuration boundaries

Oliver Bestwalter Β· LIVE

Upcoming sessions on this topic

Open session

Architecting Trusted AI: Coupling Multi-Agent Systems with dbt Semantic Store for Zero-Hallucination

  • Pushkar Mishra

    J.P. Morgan

    Senior Vice President

Open session

Multi-Cloud Isn't a Project. It's a Side Effect.

  • Antonio Mendoza PΓ©rez

    Temporal Technologies

    Staff Developer Success Engineer

  • Gaurav Thadani

    Temporal

    Staff Developer Success Engineer

Open session

React Under Fire: Rendering Performance for Streaming Agent UIs

  • Abhirupa Mitra

    Slack

    Senior Member of Technical Staff

Open session

How We Cut Our API's p99 Latency from Minutes to Under a Second

  • Deepak Agrawal

    Atlassian

    Principal Software Engineer

Open session

What I Got Wrong Shipping an MCP Server for Live Infrastructure

  • Pritesh Kiri

    Harness

    Developer Relations Engineer

Open session

Beyond File Dumps: Context Engineering for Coding Agents

  • Animesh Dutta

    Arm

    Senior Software Engineer