Description
In this course, you will learn:
- Microservice development with ASPNET Core 8 Web API.
- ASPNET Minimal APIs and the latest features.Net8 and C# version 12.
- Vertical Slice Architecture implementation using feature folders.
- CQRS implementation utilizing the MediatR library.
- CQRS Validation Pipeline Behaviors using MediatR and FluentValidation.
- Marten library for PostgreSQL-based.NET Transactional Document Database.
- Carter Library: Minimal API endpoint definition.
- Using Redis as a Distributed Cache instead of BasketDB.
- Implements the Proxy, Decorator, and Cache-aside Design Patterns.
- Create a High-Performance Inter-Service gRPC Communication using Basket Microservice.
- Consume Discount Grpc Service is used for inter-service sync communication in order to calculate the final product price.
- Publish the BasketCheckout Queue using MassTransit and RabbitMQ.
- PostgreSQL database connection and containerization.
- Implementing DDD, CQRS, and Clean Architecture utilizing Best Practices.
- Tactical Domain-Driven Design: Entities, Value Objects, Aggregates, and Agg. Roots.
- Creating CQRS with the MediatR, FluentValidation, and Mapster packages.
- Using Entity Framework Core ORM with automatic migration to SqlServer upon application startup.
- Entity Framework Core Code-First Approach, Migrations, and DDD Entity Configurations for Clean Architecture Implementation.
- Async Microservices Communication with the RabbitMQ Message Broker Service.
- Using RabbitMQ Publish/Subscribe Topic Exchange Model.
- Consuming RabbitMQ Basket.Checkout the event queue using MassTransit-RabbitMQ Configuration.
- Using MassTransit to encapsulate RabbitMQ message-broker system and Yarp Reverse Proxy with Gateway Routing Pattern.
- Configure Yarp Reverse Proxy using Route, Cluster, Path, Transform, and Destinations. Use FixedWindowLimiter for rate limiting.
- ASPNET Core Web Application using Bootstrap 4 and Razor template.
- Consume YarpApiGateway APIs using Refit Library and Generated HttpClientFactory. Address cross-cutting problems. Logging, global exception handling, and health checks.
- Dockerfile and docker-compose file to operate multi-container Docker environment.
Syllabus:
- What are Microservices ?
- Why .NET and What is new .NET 8 and C# 12 ?
- Asp.Net 8 for Microservice Development: Minimal APIs, DI, Routing and Docker
- First Microservice: Catalog.API with Vertical Slice Architecture and CQRS
- Develop Catalog.API Infrastructure, Handler and Endpoint Classes for CRUD
- Develop Catalog.API Cross-cutting Concerns
- Basket Microservices with Vertical Slice Architecture and CQRS
- Basket Microservices apply Distributed Caching with Redis
- Microservices Synchronous Communications with gRPC
- Discount.Grpc Microservices for Microservices Grpc Communication
- Consuming Discount Grpc Service From Basket Microservice When Adding Cart Item
- Ordering Microservices with DDD, CQRS and Clean Architecture
- Ordering.Domain Layer with Tactical Domain-Driven Design Patterns
- Ordering.Infrastructure Layer with EF Core Code First and SQL Server
- Ordering.Application Layer with CQRS and MediatR
- Ordering.API Layer Exposing Minimal Api Endpoints with Carter and REPR Pattern
- Microservices Async Communication w/ RabbitMQ & MassTransit for Checkout Order
- Building API Gateways with Yarp Reverse Proxy applying Gateway Routing Pattern
- Building Shopping Web Client Application with Refit HttpClientFactory Library