by Alibou (https://aliboucoding.com/courses)
This repository contains a demo project showcasing a microservices-based application, designed to provide a hands-on understanding of microservices architecture and implementation. The project consists of an API Gateway, Config Server, Discovery Server, and two microservices: Student and School.
- Getting Started
- Project Components
- Inter-Service Communication
- Distributed Tracing
- Contributing
- License
- Contact
- Acknowledgements
Follow the instructions below to set up the project on your local machine for development and testing purposes.
Ensure you have the following software installed on your system before proceeding:
- Java Development Kit (JDK) 17 or later
- Maven
- Docker (optional, for containerization)
- Clone the repository:
git clone git remote add origin git@github.com:ali-bouali/springboot-3-micro-service-demo.git
- Navigate to the project directory:
- Build and package each component with Maven:
The API Gateway serves as the single entry point for all client requests, managing and routing them to the appropriate microservices.
The Config Server centralizes configuration management for all microservices, simplifying application maintenance and consistency across environments.
The Discovery Server provides service registration and discovery, enabling seamless service-to-service communication within the microservices ecosystem.
The Student Microservice is responsible for managing student-related data and operations, such as adding, updating, and retrieving student records.
The School Microservice manages school-related data and operations, including adding, updating, and retrieving school records.
This project demonstrates inter-service communication using OpenFeign, a declarative REST client that simplifies service-to-service communication within the microservices ecosystem.
The project showcases the use of Zipkin for distributed tracing, enhancing application observability and enabling the visualization and troubleshooting of latency issues.
Contributions are welcome! Please read our CONTRIBUTING.md for details on how to contribute to this project.
This project is licensed under the MIT License.
[Ali Bouali] - [contact@aliboucoding.com]
[Website] - [https://aliboucoding.com/courses]
Project Link: https://github.com/ali-bouali/springboot-3-micro-service-demo