Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 2 KB

File metadata and controls

69 lines (49 loc) · 2 KB

Microservice Design Patterns

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.

Table of Contents

Introduction

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.

Technologies

  • .NET 9
  • MassTransit
  • RabbitMQ
  • MS SQL
  • Event Store
  • Entity Framework Core
  • Docker

Patterns Implemented

  • Saga Pattern
  • CQRS (Command Query Responsibility Segregation)
  • Event Sourcing
  • Circuit Breaker

Branches

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.

Getting Started

To get a local copy up and running, follow these steps.

Installation

  1. Clone the repository:
git clone https://github.com/mirkankacan/MicroserviceDesignPatterns.git
  1. Navigate to the project directory:
cd MicroserviceDesignPatterns
  1. Checkout the branch you are interested in:
git checkout <branch-name>

License

Distributed under the MIT License. See LICENSE for more information.