This repository contains a collection of microservice design patterns implemented using .NET 9. The goal is to demonstrate various architectural patterns and best practices for building scalable and maintainable microservices.
Microservice Design Patterns is a project that showcases different design patterns used in microservice architecture. Each pattern is implemented as a separate service, demonstrating how to solve common challenges in microservice-based systems.
- .NET 9
- MassTransit
- RabbitMQ
- MS SQL
- Event Store
- Entity Framework Core
- Docker
- Saga Pattern
- CQRS (Command Query Responsibility Segregation)
- Event Sourcing
- Circuit Breaker
This repository uses branches to separate different design patterns and implementations. Below are the main branches and their purposes:
master
: The main branch containing the core setup and common utilities.SagaChoreographyPattern
: Implementation of the Choreography based Saga Pattern.SagaOrchestrationPattern
: Implementation of the Orchestration based Saga Pattern.EventSourcingPattern
: Implementation of the Event Sourcing Pattern.ResiliencyPattern
: Implementation of the Circuit Breaker Pattern.
You can switch to a specific branch to explore the corresponding pattern implementation.
To get a local copy up and running, follow these steps.
- Clone the repository:
git clone https://github.com/mirkankacan/MicroserviceDesignPatterns.git
- Navigate to the project directory:
cd MicroserviceDesignPatterns
- Checkout the branch you are interested in:
git checkout <branch-name>
Distributed under the MIT License. See LICENSE
for more information.