This repository contains the source code and materials for a microservices project built with the help of the "Building Microservices with .NET" tutorial available on YouTube. The tutorial served as a valuable guide throughout the development process.
- Introduction
- Project Overview
- Project Structure
- Docker & Kubernetes Deployment
- Additional Services
- SQL Server Integration
- Multi-Resource API
- Message Bus & RabbitMQ
- Asynchronous Messaging
- gRPC Integration
- Acknowledgments
This project entails the construction of microservices with .NET, encompassing various aspects of microservices development, ranging from project initiation to the deployment of microservices on a Kubernetes cluster.
The project is a practical implementation of microservice architecture that includes two .NET microservices developed using the REST API pattern, dedicated persistence layers for both services, deployment to a Kubernetes cluster, API Gateway pattern implementation, synchronous messaging using HTTP and gRPC, and asynchronous messaging with RabbitMQ.
Explore the organization and structure of the project, understanding how different components interact to deliver a fully functional microservices architecture.
The project extensively uses Docker for containerization, and Kubernetes for orchestrating the deployment of microservices to a cluster.
Beyond the core microservices, the project explores additional services such as API Gateway pattern implementation and synchronous messaging between services.
SQL Server is seamlessly integrated into the microservices architecture, and Kubernetes is configured to manage database operations.
A multi-resource API is developed, covering data layer models, repositories, and controllers to enhance the functionality of the microservices.
The importance of message buses, specifically RabbitMQ, is demonstrated in the project. RabbitMQ is deployed to Kubernetes to enable asynchronous messaging.
Asynchronous messaging is implemented using an Event Bus, with a detailed walkthrough of adding a message bus publisher, event processing, and listeners.
The project dives into gRPC, including networking configuration, package references, and practical implementation in microservices for efficient communication.
Special thanks to the creator of the tutorial Les Jackson for providing an insightful and educational resource. The tutorial has been instrumental in the successful completion of this microservices project.
Note: This project is licensed under the MIT License - see the LICENSE file for details.