When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

Udemy logo

.NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture

Develop Microservices on .NET 8 used ASP.NET Web API, Docker, RabbitMQ, MassTransit, gRPC, Yarp Gateway, Redis,SqlServer

     
  • 4.4
  •  |
  • Reviews ( 7.4K )
₹729

This Course Includes

  • iconudemy
  • icon4.4 (7.4K reviews )
  • icon28h 26m
  • iconenglish
  • iconOnline - Self Paced
  • iconprofessional certificate
  • iconUdemy

About .NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture

_This course comes from a_

_live github aspnetrun microservices repository_

_which verified from community with_

_3000+ stars_

_and_

_1600+ forks._

You will learn how to build

Microservices on .Net

platforms which used

Asp.Net Web API, Docker, RabbitMQ, MassTransit, Grpc, Yarp API Gateway, PostgreSQL, Redis, SQLite, SqlServer, Marten, Entity Framework Core, CQRS, MediatR, DDD, Vertical

and

Clean Architecture

implementation using

latest codes

and

best practices

of

.NET 8

on cloud-native environments. You will develop

e-commerce

modules over

Product, Basket, Discount

and

Ordering

microservices with

NoSQL (PostgreSQL DocumentDB, Redis)

and

Relational databases (SQLite, Sql Server)

with communicating over

RabbitMQ Event Driven Communication

and using

Yarp API Gateway

. You can find

Microservices Architecture and Step by Step Implementation on .NET

which

step by step developing

this course with extensive explanations and details. Along with this you’ll develop following microservices and items:

Catalog microservice which includes;

ASP.NET Core Minimal APIs and latest features of

.NET 8

and

C# 12

Vertical Slice Architecture

implementation with Feature folders

CQRS

implementation using

MediatR

library

CQRS

Validation Pipeline Behaviours with

MediatR

and

FluentValidation

Marten

library for

.NET Transactional Document DB

on

PostgreSQL

Carter

library for Minimal API endpoint definition

Cross-cutting concerns

Logging

, global

Exception Handling

and

Health Checks

Dockerfile

and

docker-compose

file for running Multi-container in Docker environment

Basket microservice which includes;

ASP.NET 8

Web API application, Following REST API principles, CRUD operations

Redis

as a

Distributed Cache

over basketdb

Implements

Proxy

,

Decorator

and

Cache-aside

Design Patterns

Consume

Discount

gRPC Service

for inter-service sync communication to calculate product final price

Publish

BasketCheckout Queue with using

MassTransit

and

RabbitMQ

Discount microservice which includes;

ASP.NET

gRPC Server

application

Build a Highly Performant

inter-service gRPC Communication

with Basket Microservice

Exposing

gRPC Services

with creating

Protobuf messages

Entity Framework Core ORM

-

SQLite

Data Provider and Migrations

SQLite database

connection and containerization

Microservices Communication

Sync inter-service

gRPC Communication

Async Microservices Communication with

RabbitMQ Message-Broker Service

Using

RabbitMQ Publish/Subscribe Topic

Exchange Model

Using

MassTransit

for abstraction over RabbitMQ Message-Broker system

Publishing

BasketCheckout event

queue from Basket microservices and Subscribing this event from Ordering microservices

Create

RabbitMQ EventBus.Messages library

and add references Microservices

Ordering Microservice

Implementing

DDD, CQRS, and Clean Architecture

with using Best Practices

Developing

CQRS with using MediatR, FluentValidation and Mapster packages

Use

Domain Events

&

Integration Events

Entity Framework

Core

Code-First Approach

,

Migrations

,

DDD Entity Configurations

Consuming

RabbitMQ

BasketCheckout event queue with using

MassTransit-RabbitMQ

Configuration

SqlServer database

connection and containerization

Using

Entity Framework Core ORM

and auto migrate to SqlServer when application startup

Yarp API Gateway Microservice

Implement

API Gateways

with

Yarp Reverse Proxy

applying

Gateway Routing Pattern

Yarp Reverse Proxy Configuration

; Route, Cluster, Path, Transform, Destinations

Rate Limiting

with

FixedWindowLimiter

on Yarp Reverse Proxy Configuration

Sample microservices/containers to reroute through the API Gateways

WebUI ShoppingApp Microservice

ASP.NET Core

Web Application

with

Bootstrap 4

and

Razor

template

Consume

YarpApiGateway APIs using

Refit Library

with

Generated HttpClientFactory

ASPNET Core Razor Tools

— View Components, partial Views, Tag Helpers, Model Bindings and Validations, Razor Sections etc.

Docker Compose establishment with all microservices on docker;

Containerization

of microservices

Orchestrating

of microservices and backing services (databases, distributed caches, message brokers..)

Override Environment variables On top of all these, you'll learn

how to write quality code,

not just how to build microservices. In this course you will see the demonstrating a

layered application architecture

with

DDD

best practices. Implements NLayer

Hexagonal architecture

(Core, Application, Infrastructure and Presentation Layers) and

Domain Driven Design

(Entities, Repositories, Domain/Application Services, DTO's...) and aimed to be a

Clean Architecture

, with applying

SOLID principles

in order to use for a project template. Also implements

best practices

like

loosely-coupled, dependency-inverted

architecture and using

design patterns

such as

Dependency Injection

, logging, validation, exception handling and so on.

Is this course for you?

This course is very practical, about 95%+ of the lessons will involve you coding along with me on this project. If you are the type of person who gets the most out of learning by doing, then this course is definitely for you.

Tools you need for this course

In this course all the lessons are demonstrated using Visual Studio as a code editor. You can of course use any code editor you like and any Operating system you like as long as it's Windows or Mac. Also using Docker Desktop in order to use different database providers.

What You Will Learn?

  • ASPNET Core 8 Web API Development of Microservices .
  • ASPNET Minimal APIs and latest features of .Net8 and C# 12 .
  • Vertical Slice Architecture implementation with Feature folders .
  • CQRS implementation using MediatR library .
  • CQRS Validation Pipeline Behaviours with MediatR and FluentValidation .
  • Marten library for .NET Transactional Document DB on PostgreSQL .
  • Carter Library for Minimal API endpoint definition .
  • Using Redis as a Distributed Cache over Basketdb .
  • Implements Proxy, Decorator and Cache-aside Design Patterns .
  • Build a Highly Performant inter-service gRPC Communication with Basket Microservice .
  • Consume Discount Grpc Service for inter-service sync communication to calculate product final price .
  • Publish BasketCheckout Queue with using MassTransit and RabbitMQ .
  • PostgreSQL database connection and containerization .
  • Implementing DDD, CQRS, and Clean Architecture with using Best Practices .
  • Tactical Domain-Driven Design: Entities, Value Objects, Aggregates, Agg. Roots .
  • Developing CQRS with using MediatR, FluentValidation and Mapster packages .
  • Using Entity Framework Core ORM and auto migrate to SqlServer when application startup .
  • Entity Framework Core Code-First Approach, Migrations, DDD Entity Configurations in Clean Architecture implementation .
  • Async Microservices Communication with RabbitMQ Message-Broker Service .
  • Using RabbitMQ Publish/Subscribe Topic Exchange Model .
  • Consuming RabbitMQ BasketCheckout event queue with using MassTransit-RabbitMQ Configuration .
  • Using MassTransit for abstraction over RabbitMQ Message-Broker system .
  • API Gateways with Yarp Reverse Proxy applying Gateway Routing Pattern .
  • Yarp Reverse Proxy Configuration; Route, Cluster, Path, Transform, Destinations .
  • Rate Limiting with FixedWindowLimiter on Yarp Reverse Proxy Configuration .
  • ASPNET Core Web Application with Bootstrap 4 and Razor template .
  • Consume YarpApiGateway APIs using Refit Library with Generated HttpClientFactory .
  • Cross-cutting concerns Logging, global Exception Handling and Health Checks .
  • Dockerfile and docker-compose file for running Multi-container Docker environment Show moreShow less.