.NET Microservices: CQRS & Event Sourcing with Kafka
Learn how to create scalable and decoupled microservices using CQRS and Event Sourcing in .NET. Build your own framework with C# and Apache Kafka, implementing features like event versioning and optimistic concurrency control. Gain expertise in handling commands, raising events, and structuring code with Domain-Driven Design. Ideal for software engineers and architects looking to enhance their skills in building highly scalable microservices.
What you’ll learn
- CQRS
- Event Sourcing
- How to Create Microservices in C# with .NET
- Creating DDD-Oriented Microservices
- Using Apache Kafka as a Message Bus
- Creating an Event Store with MongoDB
- Optimistic Concurrency Control
- Event Versioning
- Using Microsoft SQL to Implement the Read Database
- Replay the Event Store and Recreate the State of the Aggregate
- Replay the Event Store and Recreate the Entire Read Database
- Replay the Event Store and Recreate the Read Database in a Different Database Type – PostgreSQL
- Implementing the Database-Per-Service Pattern
- Entity Framework Core (MS SQL and PostgreSQL)
- Dependency Injection
- Docker
Show moreShow less
In this course, you will learn how to create .NET microservices that comply with the CQRS and Event Sourcing patterns.
You will not use any CQRS framework, but you will write every line of code that is required to effectively create your own CQRS and Event Sourcing framework using C# and Apache Kafka. While this might sound a little daunting, you will be carefully guided step by step, and gain all the know-how and confidence to become an expert in CQRS and Event Sourcing.
By the end of this course, you will know how to:
Handle commands and raise events.
Use the mediator pattern to implement command and query dispatchers.
Create and change the state of an aggregate with event messages.
Implement an event store / write database in MongoDB.
Create a read database in MS SQL.
Apply event versioning.
Implement optimistic concurrency control.
Produce events to Apache Kafka.
Consume events from Apache Kafka to populate and alter records in the read database.
Replay the event store and recreate the state of the aggregate.
Separate read and write concerns.
Structure your code using Domain-Driven-Design best practices.
Replay the event store to recreate the entire read database.
Replay the event store to recreate the entire read database into a different database type – PostgreSQL.
The ultimate goal of this course is to take a deep-dive into the world of CQRS and Event Sourcing to enable you to create microservices that are super decoupled and extremely scalable.
Who this course is for:
- Software Engineers
- Software Architects