CoolStore Website is a containerised polyglot microservices application consisting of services based on .NET Core, NodeJS and more running on Service Mesh. It demonstrates how to wire up small microservices and build up a larger application using microservice architectural principals.
It's mainly building for .NET ecosystem with a lot of popular libraries and toolkits which have used by .NET community for a long time. Additionaly, it uses and experiements new components and libraries to build the modern application with cloud-native apps approach.
We have the Vietnam Microservices Community Group to write, discuss and sharing tips and tricks of how can we build and maintain microservices architectural projects.
- .NET Core 2.2 SDK: .NET Framework and .NET Core, including ASP.NET and ASP.NET Core
Tool and library
- Windows 10: The OS for developing and building this demo application
- Windows Subsystem Linux - Ubuntu OS: The subsystem that helps to run easily the bash shell on Windows OS
- Docker for Desktop (Kubernetes enabled): The easiest tool to run Docker, Docker Swarm and Kubernetes on Mac and Windows
- Docker Compose: Define and run multi-container applications with Docker
- Kubernetes / AKS: The app is designed to run on Kubernetes (both locally on "Docker for Desktop", as well as on the cloud with AKS)
- Istio: Application works on Istio service mesh
- helm: The best package manager to find, share, and use software built for Kubernetes
- Envoy Proxy: Cloud-native high-performance edge/middle/service proxy
- NetCoreKit: Set of Cloud-native tools and utilities for .NET Core
Microservice Design Patterns
Reference more at https://azure.microsoft.com/en-us/blog/design-patterns-for-microservices