Microservices Architecture: A Hotel BackEnd
Learn how to implement Microservices architecture by building a Hotel BackEnd from scratch
Table of contents
No headings in the article.
Implement Microservices architecture by building a Hotel BackEnd from scratch, including fault tolerance and circuit breaking with Resilience4j, retry module, and rate limiter. Using modern technologies like Spring Boot and Feign client for RESTful API calls, this practical guide for software engineers and architects applies best practices in containerization and service orchestration. From requirements gathering to deployment and testing, with a focus on scalability, flexibility, and fault tolerance, and an emphasis on building a modular, loosely-coupled architecture. Suitable for beginners and experienced developers alike, with insights into challenges and solutions in building Microservices-based systems.
Describe the architecture of the Microservices project, which consists of four services:
UserServices
- using SpringBoot with MySql
createUser
getUserById
getAllUser - here I am fetching a hotel List from HotelServices and fetching data from Rating Services.
GitHub Link :-
https://github.com/mukul0000/MicroServices/tree/master/UserService/UserService
HotelService
- using SpringBoot with MySql
AddHotel
getHotelById
getAllHotel
GitHub Link :-
https://github.com/mukul0000/MicroServices/tree/master/HotelsService/HotelsService
RatingService
- using SpringBoot with MongoDb
addRating
getRatingById
getRatingByUserId
getRatingByHotelId
GitHub Link :-
https://github.com/mukul0000/MicroServices/tree/master/RatingService/RatingService
ServiceRegistry
- using SpringBoot with EurekaServer
GitHub Link :-
https://github.com/mukul0000/MicroServices/tree/master/ServiceRegistry/ServiceRegistry
API Gateway
- using SpringBoot with OKTA configuration
GitHub Link :-
https://github.com/mukul0000/MicroServices/tree/master/ApiGateWay/ApiGateWay
ConfigServer
- using SpringBoot with GitHub
GitHub Link :-
https://github.com/mukul0000/MicroServices/tree/master/ConfigServer/ConfigServer
For Security Purposes: -
OKTA
Architectural patterns that I use: -
circuit breaker
Retry Module
Rate Limiter using resilience4J