/eShopping

Clean Architecture Microservices example of .Net Core

Primary LanguageSCSS

.Net Core Microservices using Clean Architecture Implementation

image

Hi Friends,

Microservices are a design pattern in which applications are composed of independent modules that communicate with each other within well defined boundaries. This makes it easier to develop, test, and deploy isolated parts of your application.

Welcome to "Microservices learning series" - the ultimate course for developers who want to learn how to build scalable, efficient, and robust Microservices using the .Net Core platform along with Docker, Kubernetes, Identity Server 4, Rabbit MQ, Angular 15, GRPC, Istio Service Mesh, SQL Server, MongoDB, PostGreSQL, Redis, Ocelot, Nginx, Azure, Helm Charts, and Auto Scale.

In this comprehensive course, you'll gain hands-on experience with Docker and Kubernetes to deploy and manage your Microservices. You'll learn how to integrate Identity Server 4 for secure authentication and authorization, Rabbit MQ for messaging, and GRPC for efficient communication between Microservices.

You'll also learn how to use Istio Service Mesh to manage Microservices traffic, and how to configure and optimize SQL Server, MongoDB, PostGreSQL, and Redis for your Microservices. You'll use Ocelot and Nginx to manage your Microservices API gateway and deploy your Microservices to Azure using Helm Charts.

By the end of this course, you'll have a solid understanding of how to design, develop, and deploy Microservices using the latest industry-standard tools and practices, including auto-scaling.

Who Should Take This Course?

  • Freshers who want to learn how to build scalable and efficient systems using Microservices architecture.

  • Junior Developers who are looking to level up their skills and gain experience building real-world Microservices applications.

  • Mid-Level Developers who want to learn how to build and deploy Microservices using the latest industry-standard tools and practices.

  • Senior Developers who are looking to stay ahead of the curve and keep their skills up-to-date with the latest trends and technologies.

  • Software Architects who want to learn how to design and develop scalable, distributed, and fault-tolerant systems using Microservices.

  • Technical Leads who want to gain a deeper understanding of Microservices architecture and lead their teams in building scalable and efficient systems.

Enroll now and take the next step in your Microservices journey. Other parts include

  1. Securing Microservices using Identity Server 4

  2. Implementing Cross Cutting Concerns

  3. Versioning Microservices

  4. Building Angular Application for MicroServices

  5. Deploying Microservices to Kubernetes and AKS

Who Should Enroll

This course is suitable for anyone who wants to develop their personal and professional skills. Whether you are a student, a working professional, an entrepreneur, or someone who simply wants to learn and grow, this course is for you.

Having a basic understanding of C#, Docker, and Angular would be really helpful!. All you need is an open mind and a willingness to learn. By the end of this course, you will have a deeper understanding of yourself and the world around you, and be equipped with practical tools to help you succeed..

Course Links:

Blog

Introduction

In this section, you will learn how to build full fledged Ecommerce app using asp.net core, docker, kubernetes, helm charts, service mesh and angular 15. Below are the key takeaways from this project. Anyone who wants to learn and write professional enterpise projects can refer this project. This project not only illustrates how to implement all layers to the point rather it adheres to best practices as followed by industry.

Here, you will learn variety of technologies like

  • Clean Architecture
  • .Net Core
  • Docker
  • Kubernetes
  • Azure
  • Microservices
  • Service Mesh
  • Angular
  • ELK Stack
  • Pub/Sub Pattern
  • GRPC
  • Repository Pattern
  • Unit of Work Pattern
  • Specification Pattern
  • Helm Charts

How Project is structured

Below, I have Pasted the high level glimpse project structure.

image

Client Structure goes like

image

Deployments

image

Warning and Disclaimer

Every effort applied to make this project complete and accurate to the topic, but no warranty is implied. Any implementation in this project are MY OWN and also borrowed from best practices segment. ALL content presented AS-IS, for learning purposes only. Also this course will go keep updated as and when new and stable framework gets released.

Installation

Follow these steps to get your development environment set up: (Before Run Start the Docker Desktop)

  1. Clone the repository
  2. Once Docker for Desktop is installed, go to the Settings > Advanced option, from the Docker icon in the system tray, to configure the minimum amount of memory and CPU like so:
  • Memory: 7 GB
  • CPU: 5
  1. At the root directory which include docker-compose.yml files, run below command:
docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d

Project Overview

image

Technologies Used

image

Workflow

image

image

image

image

image

image

image

image

Pub/Sub Pattern

image

  • In the above diagram as we can see before checkout event created basket gets deleted from Redis database.

Container Management via Portainer

image

Elastic Search

image

ACR Workloads

image

AKS Workloads

image

Pods Overview Kube Lens

image

Deployments

image

Replicasets

image

ConfigMaps

image

Secrets

image

HPA (Horizontal Pods AutoScaler)

image

Istio enabled

kubectl apply -f istio-init.yaml kubectl apply -f istio-minikube.yaml kubectl apply -f kiali-secret.yaml

image

Istio via Kubelens

image

Kiali (Service Mesh Management for Istio)

We can port forward for the same using lens

This will bring Kiali UI like

image

Kiali catalog Workload

image

Kiali Service Overview

image

Graphana Visualization

image