Mô tả

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.

Bạn sẽ học được gì

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

Yêu cầu

  • Some experience with C# is essential

Nội dung khoá học

17 sections

Introduction

6 lectures
Microservices Basics
03:51
CQRS
02:26
Event Sourcing
01:21
Architecture Overview
06:49
Apache Kafka
01:03
Important Concepts Quiz
3 questions

Setup & Structure

10 lectures
Setup & Structure Section Intro
00:26
Prerequisites
08:08
Run Kafka in Docker
05:38
Run MongoDB in Docker
02:33
Run Microsoft SQL in Docker.
05:06
Basic Project Setup
08:58
Adding Project References
10:20
Adding NuGet Packages
05:20
Setup Debug Configurations (VS Code Only)
02:51
Setup & Structure Quiz
3 questions

Messages

5 lectures
What is a Command?
00:54
Commands
05:00
What is an Event?
00:30
Events
08:22
Messages
2 questions

Command Dispatching

4 lectures
The Mediator Pattern
03:10
ICommandDispatcher Interface (The Mediator)
02:46
CommandDispatcher (The Concrete Mediator)
05:32
Command Dispatching Quiz
2 questions

Aggregate

5 lectures
What is an Aggregate?
02:16
AggregateRoot
09:50
PostAggregate Part 1
12:26
PostAggregate Part 2
08:20
Aggregates Quiz
3 questions

Event Store

9 lectures
What is an Event Store?
01:03
EventModel
03:22
IEventStoreRepository Interface
02:33
EventStoreRepository
09:16
IEventStore Interface
01:20
EventStore
11:26
IEventSourcingHandler Interface
01:42
EventSourcingHandler
06:54
Event Store Quiz
2 questions

Command Handling

5 lectures
The Mediator Pattern Continued
00:45
ICommandHandler Interface (The Abstract Colleague)
01:54
CommandHandler (The Concrete Colleague)
10:06
Register Command Handlers
05:08
Command Handling Quiz
2 questions

Event Producer

4 lectures
Kafka Producer
03:18
EventProducer Interface & Implementation
10:00
Producing an Event
05:33
Event Producer Quiz
2 questions

Domain Layer

5 lectures
Important DDD Concepts
01:25
Domain Entities
05:27
IPostRepository Interface
03:46
ICommentRepository Interface
01:46
Domain Layer Quiz
2 questions

Read Database

6 lectures
The Read Database
00:26
DatabaseContext
09:33
Programmatically Create DB & Tables on Startup
07:43
PostRepository
08:26
CommentRepository
05:02
Read Database Quiz
3 questions

Event Handling

4 lectures
Event Handling Introduction
00:20
IEventHandler Interface
01:42
EventHandler
09:42
Event Handling Quiz
2 questions

Event Consumer

6 lectures
Kafka Consumer
03:39
IEventConsumer Interface
00:38
EventJsonConverter
07:48
EventConsumer
11:57
ConsumerHostedService
06:35
Event Consumer Quiz
2 questions

Command Controllers

17 lectures
Command Controllers Intro
00:38
Data Transfer Objects
01:24
NewPostController
08:29
Creating a New Social Media Post
15:04
EditMessageController
05:32
Edit Message of a Social Media Post
12:08
LikePostController
03:24
Like a Social Media Post
10:56
AddCommentController
03:05
Add a Comment to a Social Media Post
11:24
EditCommentController
03:19
Edit a Comment on a Social Media Post
12:11
RemoveCommentController
04:23
Delete a Comment from a Social Media Post
11:08
DeletePostController
02:56
Deleting a Social Media Post
10:20
Command Controllers Quiz
3 questions

Queries & Query Dispatching

5 lectures
The Mediator Pattern (Query Dispatching)
01:02
Social Media Queries
03:35
IQueryDispatcher Interface (The Mediator)
03:33
QueryDispatcher (The Concrete Mediator)
05:44
Queries & Query Dispatching Quiz
2 questions

Query Handling

5 lectures
Query Handling Introduction
00:22
IQueryHandler Interface (The Abstract Colleague)
01:44
QueryHandler (The Concrete Colleague)
04:28
Register Query Handlers
04:24
Query Handling Quiz
2 questions

Query Controller

6 lectures
Query Controller Intro
00:17
Data Transfer Objects
01:13
PostLookupController Part 1
09:58
PostLookupController Part 2
08:59
Testing the PostLookupController
16:48
Query Controller Quiz
2 questions

A Powerful Ending

5 lectures
Powerful Ending Intro
00:40
Create Functionality to Restore the Read Database
12:27
Restore the Entire Read Database
20:05
Rapidly Change the Read Database Type
14:05
Congratulations
00:24

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.