aspnetrun/run-aspnetcore-microservices

Microservices on .NET platforms used ASP.NET Web API, Docker, RabbitMQ, MassTransit, Grpc, Yarp API Gateway, PostgreSQL, Redis, SQLite, SqlServer, Marten,...

View on GitHub ↗Jump to charts ↓

aspnetrun/run-aspnetcore-microservices has 3k+ stars and 1.5k+ forks on GitHub, is written in C#, and was last pushed on Mar 9, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on September 21st, 2026
Created on April 14th, 2019
Open Issues & Pull Requests: 43 (+0)
GitHub issues: Enabled
Number of forks: 1,740
Total Stargazers: 3,267 (+0)
Total Subscribers: 92 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 11.9 days
Mean response time: 14.5 days
90th percentile: 24.9 days
Tracked items: 3

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 534 days
Stale 30+ days: 7
Stale 90+ days: 7

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

run-aspnetcore-microservices is a reference implementation of microservices architecture on .NET platforms that demonstrates real-world e-commerce patterns using ASP.NET Core, Docker, RabbitMQ, gRPC, and multiple database technologies.

The project solves the problem of understanding how to build production-grade microservices by providing a complete working example across four core services: Catalog, Basket, Discount, and Ordering. The Catalog service uses Vertical Slice Architecture with MediatR for CQRS and Marten as a transactional document database on PostgreSQL. The Basket service implements Redis as a distributed cache with gRPC synchronous calls to the Discount service for price calculation. The Discount service exposes a gRPC server using Protobuf messages with SQLite persistence. The Ordering service demonstrates Domain-Driven Design, CQRS, and Clean Architecture patterns with SQL Server. Services communicate synchronously via gRPC and asynchronously through RabbitMQ event-driven messaging using MassTransit as an abstraction layer.

This project suits developers learning microservices patterns or building e-commerce systems who want to see how .NET 8 and C# 12 features integrate with architectural patterns like DDD, CQRS, and Vertical Slice Architecture. It demonstrates both NoSQL and relational database usage, distributed caching, and inter-service communication strategies. The repository is paired with a Udemy course that provides step-by-step guidance through the implementation.

The project maintains active development with implementations across multiple architectural patterns and database technologies. The codebase incorporates cross-cutting concerns including logging, global exception handling, and health checks. The repository demonstrates current .NET platform capabilities through use of Minimal APIs, Entity Framework Core migrations, and containerization patterns with Docker.