1. Building Microservices With .NET
Go from zero to a complete .NET microservices based system, step by step.
Before you start...
Course introduction
Course resources
Development environment setup
Customizing VS Code for C# Development
What's wrong with the monolith?
What are microservices?
Introduction
Creating a microservice via the .NET CLI
Preparing the initial project files
Introduction to the REST API and DTOs
Adding the DTOs
Adding the REST API operations
Handling invalid inputs
Introduction
Introduction to the repository pattern and MongoDB
Implementing a MongoDB repository
Using the repository in the controller
Introduction to Docker
Trying out the REST API with a MongoDB container
Introduction to Dependency Injection and Configuration
Implementing dependency injection and configuration
Introduction
Using Postman
Reusing common code via NuGet
Refactoring into a generic MongoDB repository
Refactoring MongoDB registration into extension methods
Moving generic code into a reusable NuGet package
Introduction to Docker Compose
Moving MongoDB to docker compose
Introduction
Creating the Inventory microservice
Introduction to synchronous communication
Implementing synchronous communication via IHttpClientFactory
Understanding timeouts and retries with exponential backoff
Implementing a timeout policy via Polly
Implementing retries with exponential backoff
Understanding the circuit breaker pattern
Implementing the circuit breaker pattern
Introduction
Introduction to asynchronous communication
Defining the message contracts
Publishing messages via MassTransit
Standing up a RabbitMQ docker container
Refactoring MassTransit configuration into the reusable NuGet package
Consuming messages for eventual data consistency
Removing the inter-service synchronous communication