-
A Microservices Project, Developed with Spring Boot, Eureka services, built with Curiosity and learning about this Architecture Design.
-
Tech Used: Spring Boot, Java, PostMan, Eureka Service Registry, Eureka Client, Zipkin And Sleuth, MySQL, Lombok, IntellJ Idea.
-
Prominent Features Include:
- Microservices Driven Architecture
- API Gateway Implemented
- Eureka Service Registry
- Eureka Client
- Client Side Loadbalancing
- Distributed Logging using Zipkin And Sleuth.
- MySQL database
- Cross Services Interactions
- Centralised Configurations Service to store Eureka Client Configurations to connect to Eureka Server.
-
Tools Used:
- IntellJ idea Ultimate Edition.
- Eureka Service Discovery
- Zipkin And Sleuth for Distributed Logging
- MySQL database.
- Github for Version Control.
- Lombok Library for AutoCode Generation
- PostMan.
- Maven Dependency Manager
- Clone the repo, and open in IntellJ Idea, or any preferred IDE.
- Start With running the Service Registry Service First, as this Service acts as the Eureka Server
- After this Start the Config Server, this service Fetches Configurations from Github of Eureka Clients ( was used by every service hence extracted out and made a service out of it) , and is used by other service to connect to the Eureka Server.
- Start the Gateway Service, User Service, Department Service.
- Hit the API using Postman or IntellJ idea's inbuilt API Manager.
The Project was a good learning exercise that helped understand:
- How Spring Boot Works.
- How Microservices Architecture Works.
- How Cross Services Communication Works.
- How API Gateway works.
- How Distributed Logging Works.
- How To Structure Spring Boot Applications.
- How to Connect to Database using Spring Boot.