Command-query Responsibility Segregation architecture and Event Sourcing persistence

Code: DDD-CqRS
Category: Domain Driven Design and Event Storming
Format: 50% lecture / 50% workshop
Duration: 2 days
Target audience: devops
Enrollment: Groups, companies
Venue: Client's office.

Command Query Responsibility Segregation and Event Sourcing Training shows alternative ways to manage commands and queries in your application. This training is dedicated to advanced programmers, designers and architects who look for solving the complexity of business problem and high load.

During the workshop we leverage Event Storming and tactical/strategic modeling taken from Domain-Driven Design.

Training Program

The content of our program can be customised during pre-training analysis.

  1. Motivation
    1. Classical way of storing state and its limitations
    2. Audit
    3. Temporal queries
    4. Single Source ofTruth
    5. What is a domain event?
    6. Big Picture Event Storming
  2. Modeling
    1. Understand Bounded Contexts and Aggregates
    2. Command vs Query
    3. Design Level Event Storming
    4. Aggregates backed by Event Sourcing - best practices
    5. Unit Testing of Event Sourced Aggregates
    6. Event Sourcing as Functional Programming
    7. Aggregates which manage state and emit events
  3. Persistence
    1. Application layer (use-cases)
    2. Introduction to Hexagonal Architecture
    3. Compare market tools
    4. Event Store as a database and message broker
    5. Scalable Atom Feed
    6. Partitioning
  4. Read your data
    1. Snapshots and Projections
    2. Optimal storage for queries
    3. CQRS
    4. Parallel Models
  5. Microservices and CQRS/ES
    1. Eventual Consistency
    2. Horizontal Asymmetric Scaling
    3. Blue/Green Deployments
    4. API Gateway
    5. Aggregate Services
  6. Advanced Problems
    1. Versioning your events
    2. Read your own writes
    3. Monotonic reads
    4. Retrospective events
    5. Compensation events
    6. Communication between writes and reads
    7. GDPR

Download PDF


Meet the experts who will conduct your training.

Contact us for a free consultation.

Firstname and lastname:

If you prefer direct contact then you can always call.

Iwona Sobótka

Training coordinator

I agree to the processing of my personal data in accordance with the Law on the Protection of Personal Data in connection with sending a request via the contact form.

Providing the data is voluntary but necessary to process the query. I have been informed that I have the right to access my data, the possibility of correcting them, demanding stopping their processing.

The administrator of personal data is Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin, Poland.

The information clausule