Repository Name: spring-boot-microservices
Description: This repository contains a collection of microservices developed using Spring Boot, demonstrating the implementation of a microservices architecture. The microservices cover different aspects of an organization, including organization service, department service, and employee service. Additionally, the repository includes other components such as an API gateway, a config server, and a service registry.
Table of Contents:
To run these microservices locally, follow the steps below:
-
Clone the repository:
git clone https://github.com/AvishkaUmesh/spring-boot-microservices.git
-
Navigate to the project directory:
cd spring-boot-microservices
-
Build the microservices using Maven:
mvn clean install
-
Start the Config Server:
cd config-server mvn spring-boot:run
-
Start the Service Registry:
cd service-registry mvn spring-boot:run
-
Start each microservice individually:
- Organization Service:
cd organization-service mvn spring-boot:run
- Department Service:
cd department-service mvn spring-boot:run
- Employee Service:
cd employee-service mvn spring-boot:run
- Organization Service:
-
Start the API Gateway:
cd api-gateway mvn spring-boot:run
Now you can access the microservices and the API gateway at the appropriate endpoints.
- Responsible for managing organizations and their related information.
- Provides endpoints for creating organizations, retrieving organization details.
- Manages departments.
- Offers functionality for creating departments, retrieving department details.
- Handles employee-related operations.
- Provides endpoints for creating employees, retrieving employee details.
- Acts as a single entry point for accessing the microservices.
- Provides routing and load balancing capabilities.
- Simplifies client-side interactions with the microservices.
- Centralized configuration server for the microservices.
- Stores and manages configuration files for each microservice.
- Enables dynamic configuration updates without requiring service restarts.
- Registers and tracks the availability of microservices.
- Allows services to discover and communicate with each other dynamically.
- Facilitates load balancing and fault tolerance.
Contributions to this repository are welcome. If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request.