A .NET microservices project developed with guidance from a seven-hour course created by Julio Casal. This project showcases:
- data persistence using MongoDB
- usage of Repository pattern
- employment of Depedency Inversion
- handling of entities using contracts
- exercises of asynchronous programming
- reusing common code via NuGet packages
- benefits of deployment using Docker containers
- managing multiple containers by using Docker Compose
- asynchronous inter-service communication to reduce latency and prevent partial failure amplification
- communication timeouts and retries using Polly
- dealing with resource exhaustion via the Circuit Breaker utility provided by Polly
- enforcement of microservices autonomy
- asynchronous and eventual data propagation with RabbitMQ as a message broker
- allowing services to integrate with message broker at a higher level via MassTransit