Skip to content

πŸ’Ž A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET

License

Notifications You must be signed in to change notification settings

mjebrahimi/Awesome-Microservices-DotNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

89 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’Ž Awesome Microservices .NET Awesome PRs Welcome

A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET

Give a Star! ⭐️

If you liked this repo or if it helped you, please give a star ⭐️ for this repository. That will not only help strengthen our .NET community but also improve skills about the Microservices for .NET developers around the world πŸ‘. Thank you very much.

Contents

Training Series

Building Microservices On .NET Core

January 2019-September 2019

  1. Building Microservices On .NET Core – Part 1 The Plan

  2. Building Microservices On .NET Core – Part 2 Shaping microservice internal architecture with CQRS and MediatR

  3. Building Microservices On .NET Core – Part 3 Service Discovery with Eureka

  4. Building Microservices On .NET Core – Part 4 Building API Gateways With Ocelot

  5. Building Microservices On .NET Core – Part 5 Marten An Ideal Repository For Your Domain Aggregates

  6. Building Microservices On .NET Core – Part 6 Real time server client communication with SignalR and RabbitMQ

  7. Building Microservices On .NET Core – Part 7 Transactional Outbox with RabbitMQ

Repository : https://github.com/asc-lab/dotnetcore-microservices-poc

Building microservices through Event Driven Architecture

January 2019-

  1. Building microservices through Event Driven Architecture part1 : application specific business rules

  2. Building microservices through Event Driven Architecture part2 : domain objects and business rules

  3. Building microservices through Event Driven Architecture part3: Presenters, Views, and Controllers

  4. Building microservices through Event Driven Architecture part4: repositories

  5. Building microservices through Event Driven Architecture part5: dockerization (Web Api Core and SQL Server Linux)

  6. Building microservices through Event Driven Architecture part6: Implementing EventSourcing on Domain Model

  7. Building microservices through Event Driven Architecture part7: Implementing EventSourcing on Repositories

  8. Building microservices through Event Driven Architecture part8: Implementing EventSourcing on Application

  9. Building microservices through Event Driven Architecture part09: Handling updates

  10. Building microservices through Event Driven Architecture part10: Run Unit tests inside a docker container

  11. Building microservices through Event Driven Architecture part11: Continuous Integration

  12. Building microservices through Event Driven Architecture part12 : Produce events to Apache KAFKA

Repository : https://github.com/logcorner/LogCorner.EduSync.Speech.Command/ https://github.com/logcorner/LogCorner.EduSync.Speech.ServiceBus

Building API Gateway Using Ocelot In ASP.NET Core

November 2017-August 2019

  1. Building API Gateway Using Ocelot In ASP.NET Core

  2. Part Two - Building API Gateway Using Ocelot In ASP.NET Core - Authentication

  3. Part Three -Building API Gateway Using Ocelot In ASP.NET Core - Logging

  4. Part Four - Building API Gateway Using Ocelot In ASP.NET Core - Rate Limiting

  5. Building API Gateway Using Ocelot In ASP.NET Core - QoS (Quality of Service)

  6. Building API Gateway Using Ocelot In ASP.NET Core - Load Balancing

  7. Building API Gateway Using Ocelot In ASP.NET Core - Service Discovery (Eureka)

  8. Building API Gateway Using Ocelot In ASP.NET Core - Service Discovery (Consul)

  9. Building API Gateway Using Ocelot In ASP.NET Core - Configuration (Consul)

Repository : https://github.com/catcherwong-archive/APIGatewayDemo

Distributed .NET Core (DShop)

December 2018-April 2019

  1. Distributed .NET Core (DShop) - Teaser

  2. Distributed .NET Core (DShop) - Episode 1 [Intro, HTTP requests flow, Infrastructure with Docker]

  3. Distributed .NET Core (DShop) - Episode 2 [CQRS - Write side, Discounts service, MongoDB repository]

  4. Distributed .NET Core (DShop) - Episode 3 [Subscribing RabbitMQ messages, API gateway]

  5. Distributed .NET Core (DShop) - Episode 4 [Asynchronous microservices integration via events]

  6. Distributed .NET Core (DShop) - Episode 5 [CQRS - Read side, Internal HTTP communication]

  7. Distributed .NET Core (DShop) - Episode 6 [Service discovery & Load balancing with Consul + Fabio]

  8. Distributed .NET Core (DShop) - Episode 7 [Handling asynchronous requests, SignalR, Polly]

  9. Distributed .NET Core (DShop) - Episode 8 [Distributed transactions, 2PC, Event Choreography, Saga]

  10. Distributed .NET Core (DShop) - Episode 9 [Vault secrets, Seq logging, Jaeger distributed tracing]

  11. Distributed .NET Core (DShop) - Episode 10 [Metrics with AppMetrics, InfluxDB, Prometheus, Grafana]

  12. Distributed .NET Core (DShop) - Episode 11 [Travis CI pipelines, custom MyGet feeds]

  13. Distributed .NET Core (DShop) - Episode 12 [Docker basics, Docker Hub, docker-compose]

  14. Distributed .NET Core (DShop) - Episode 13 [Integration tests with xUnit, Web API, Mongo, RabbitMQ]

  15. Distributed .NET Core (DShop) - Episode 14 [Consumer-driven contract testing with Pact]

  16. Distributed .NET Core (DShop) - Episode 15 [Orchestration with Portainer, Kubernetes and Rancher]

Repository : https://github.com/devmentors/DNC-DShop

Microservices .NET

May 2020-August 2020

  1. Meet Pacco & Microservices .NET!

  2. CQRS - reserving a resource

  3. Inbox & Outbox pattern - transactional message processing

  4. API Gateway with Ocelot and RabbitMQ

  5. Contract testing with Pact.io

  6. Distributed Tracing with Jaeger

  7. Dynamic Credentials with Vault

  8. DevMentors Live #0 - "Microservices .NET" Q&A, future plans etc...

  9. Sidecar pattern + custom reverse proxy + k8s

Repository : https://github.com/devmentors/Pacco

.NET Conf: Focus on Microservices

August 2020

  1. Welcome to .NET Conf: Focus on Microservices

  2. Why You Should Care About Microservices

  3. Stay Sharp

  4. A Journey into .NET Microservices with Steeltoe

  5. Orleans at Microsoft

  6. Adding a Little DAPR to Your .NET Microservices

  7. Developing and Deploying Microservices with 'Tye'

  8. Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns

  9. The Intersection of Microservices, Domain-Driven Design and Entity Framework Core

  10. Build High-performance Microservices with gRPC and .NET

  11. DevOps, Waffles, and Superheroes - Oh My!

  12. API Communication in Microservices with Azure API Management and Azure Functions

  13. Evolving .NET Framework Monoliths with .NET 5 and Kubernetes

  14. Migrating .NET Framework Web Apps to Azure

  15. Building & Debugging Microservices faster using Kubernetes and Visual Studio

  16. Workshop Module 1: Introducing Microservices

  17. Workshop Module 2: Modeling and Architecting Microservices

  18. Workshop Module 3: Microservice Communication

  19. Workshop Module 4: Deploying Microservices to Kubernetes

  20. Workshop Module 5: Deploying Service Mesh to Kubernetes

  21. Workshop Module 6: Distributed Data

Repository : https://github.com/dotnet-presentations/dotNETConf/tree/master/2020/FocusOnMicroservices

Microservices with .NET Core and Docker

March 2020-June 2020

  1. Microservices with .NET Core and Docker Episode 1

  2. Microservices with .NET Core and Docker Episode 02

  3. Microservices with .NET Core and Docker Episode 03 - Serilog and Seq

  4. Microservices with .NET Core and Docker Episode 04 - Bandwidth Tester with Serilog and Seq

  5. Microservices with .NET Core and Docker Episode 05 - PostgreSQL Setup

  6. Microservices with .Net Core and Docker Episode 06 - Corona Virus Dashboard Part 01

  7. Microservices with .Net Core and Docker Episode 07 - Corona Virus Dashboard Part 02

  8. DockerMonitoring with Grafana and .NET Core

Repository : https://github.com/DotNetMax/DockerMonitoringService

.NET Microservices Architecture Guidance (Microsoft)

Repository : https://github.com/dotnet-architecture/eShopOnContainers

A Microservices Implementation Journey

January 2018-March 2018

  1. A Microservices implementation journey β€” Part 1

  2. A Microservices implementation journey β€” Part 2

  3. A Microservices implementation journey β€” Part 3

  4. A Microservices implementation journey β€” Part 4

  5. A Microservices implementation journey β€” Part 5

  6. A Microservices implementation journey β€” Part 6

Repository : https://github.com/aramkoukia/microservices-prototype

Microservices and Docker with .Net Core and Azure Service Fabric/Kubernetes

February 2018-September 2018

  1. Microservices and Docker with .Net Core and Azure Service Fabric - Part One

  2. Microservices and Docker with .Net Core and Azure Service Fabric - Part two

  3. Microservices and Docker with .Net Core and Azure Service Fabric - Part three

  4. Microservices and Docker with .Net Core and Azure Service Fabric - Part four

  5. Building resilient applications with Polly

Repository : https://github.com/vany0114/microservices-dotnetcore-docker-sf-k8s

Microservices with .NET Core Tutorials

September 2018-October 2018

  1. Understanding Microservices Architecture

  2. Getting Started with Azure Service Fabric

  3. Building a Microservice with ASP.NET Core

  4. Building an Azure Service Fabric Cluster

  5. Microservices Deployment Patterns

Building Microservices on .Net platforms

May 2020

  1. Microservices Architecture on .NET with applying CQRS, Clean Architecture and Event-Driven Communication

  2. Microservices Using ASP.NET Core, MongoDB and Docker Container

  3. Using Redis with ASP.NET Core, and Docker Container for Basket Microservices

  4. Building Ocelot API Gateway Microservices with ASP.NET Core and Docker Container

  5. Microservices Event Driven Architecture with RabbitMQ and Docker Container on .NET

  6. CQRS and Event Sourcing in Event Driven Architecture of Ordering Microservices

  7. AspnetRun Microservices Renewed !

Repository : https://github.com/aspnetrun/run-aspnetcore-microservices

Books

Free eBooks

Courses

Other Tutorials

Sample Projects

Tools and Libraries

Messaging

  • MassTransit - Distributed Application Framework for .NET
  • NServiceBus - The most popular service bus for .NET
  • Rebus - Simple and lean service bus implementation for .NET
  • Kafka - Confluent's Apache Kafka .NET client
  • RabbitMQ - RabbitMQ .NET client for .NET Standard 2.0+ and .NET 4.6.1+
  • EasyNetQ - An easy to use .NET API for RabbitMQ
  • ZeroMQ - A 100% native C# implementation of ZeroMQ for .NET
  • CAP - Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern
  • Brighter - Command Dispatcher, Processor, and Distributed Task Queue
  • Silverback - Silverback is a simple but feature-rich message bus for .NET (supports Kafka, RabbitMQ and MQTT).

Api Gateway

  • Ocelot - .NET core API Gateway
  • YARP - YARP (which stands for "YARP: A Reverse Proxy") is a toolkit for developing high-performance HTTP reverse proxy applications

Service Discovery

Frameworks

  • Microdot - Microdot is an open source .NET framework that answers a lot of the needs for easily creating microservices.
  • Foundatio - Pluggable foundation blocks for building distributed apps.

Other

  • Dapr - Dapr SDK for .NET (Dapr is a portable, event-driven, serverless runtime for building distributed applications)
  • Project Tye - Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier
  • Health Checks - Enterprise HealthChecks for ASP.NET Core Diagnostics Package

Contribution

Contributions are always welcome! Feel free to open an issue or create a pull request.

License

CC0

To the extent possible under law, Mohammad Javad Ebrahimi has waived all copyright and related or neighboring rights to this work.