🏆 Take the free Top-Rated Session from TechXchange in Las Vegas and Build Your First GenAI Application the Right Way! Learn more

Offered By: IBM

Reactive Architecture: CQRS & Event Sourcing

This course will discuss the reasons we use CQRS/ES, what benefits it provides us, but also what it will cost us to use.

Continue reading

Course

Infrastructure

497 Enrolled
4.9
(21 Reviews)

At a Glance

This course will discuss the reasons we use CQRS/ES, what benefits it provides us, but also what it will cost us to use.

About This Course

Command Query Responsibility Segregation (CQRS), and Event Sourcing (ES), are powerful tools. They can make the difference between an application that evolves, and remains competitive, or one that stagnates and falls into obscurity. This course will discuss the reasons we use CQRS/ES, what benefits it provides us, but also what it will cost us to use. We will see how CQRS/ES can impact the scalability, consistency, and availability of our application. Most importantly we will learn about one of the key techniques that is used in building modern Reactive Microservices.

What will I get after passing this course?

  • You will receive a completion certificate.

Course Syllabus

  • What is CQRS/ES?
    • A brief introduction to CQRS/ES, and what situations it should be applied in.
  • Event Sourcing
    • An introduction to traditional, state-based persistence techniques, and where they break down.
    • A discussion of Event Sourcing, and how it can overcome the limitations of state-based persistence.
    • Details around how Event Sourced models can be evolved.
    • A short introduction to Command Sourcing, and how it contrasts with Event Sourcing.
  • CQRS
    • A discussion of the conflict that arises from having a unified model for reads and writes.
    • Details of how CQRS can be used to solve the model conflict.
  • Consistency, Availability, and Scalability with CQRS
    • How CQRS can be used to create fine grained microservices.
    • The impact of CQRS on the Consistency, Availability, and Scalability of the system.
    • A discussion of the costs of CQRS/ES, both real, and misunderstood.

General Information

  • It is self-paced.
  • It can be taken at any time.
  • It can be taken as many times as you wish.

Recommended skills prior to taking this course

  • Experience in the design of software systems.

Grading scheme

  • The minimum passing mark for the course is 75%, where the review questions are worth 40%, the case study exercises are worth 30% and the final exam is worth 30% of the course mark.
  • You have 1 attempt to take the final exam with multiple attempts per question.

Requirements

  • Reactive Architecture: Introduction to Reactive Systems, Reactive Architecture: Domain Driven Design and Reactive Architecture: Reactive Microservices, Reactive Architecture: Building Scalable Systems and Reactive Architecture: Distributed Messaging Patterns

COURSE STAFF

Wade Waldron

Wade Waldron is the Microservices Practice Lead, Senior Training Developer, and Senior Consultant at Lightbend. He is the primary author of the Lightbend Reactive Architecture training course.

Wade started his career as a developer in 2005 building games for the Playstation 2, Xbox, etc. In 2011 he joined Point2 Homes where he began working on an Akka based microservices platform to provide realtime updates to real estate websites. In 2014 Wade joined BoldRadius where he consulted with a variety of companies on how to use Akka, and related technologies. He also began teaching courses on Akka and Scala.

In 2016, Wade released a book "Applied Akka Patterns" along with his co-author Michael Nash

Today Wade works with Lightbend where he consults with clients and builds training materials. He focuses on helping people make a smooth transition from a monolithic application to Reactive microservices.

Estimated Effort

6 Hours

Level

Intermediate

Skills You Will Learn

Reactive architecture

Language

English

Course Code

LB0111EN

Tell Your Friends!

Saved this page to your clipboard!

Have questions or need support? Chat with me 😊