Monolithic architecture
multiple components are combined in single large app.
example :- Blogging app refer this πclickMe
β Single code base
β Deployed in single bundle
β Change in one service then whole app is redeployed
β Building problem :developer has to communicate
β Problem in scale (to make big face problem during that time)
β Cumbersome over time
To Overcomes such above problem
Microservices are an architectural and organizational approach to software development
where software is composed of small independent services that communicate over well-defined APIs.
These services are owned by small, self-contained teams.
Microservices architectures make applications easier to scale and faster to develop,
enabling innovation and accelerating time-to-market for new features.
β Large apps are divide into small parts
β Different codebase
β Each module managed independently (or easily)
β Different tech stack
β Creating rating microservices
β Implementing service registry server
β Implementing service discovery client in user service
β Implementing service discovery client in hotel service
β Implementing service discovery client in rating service__understanding api for communcation
β Microservice__communcation
β Microservice__communcation__user service calling hotel
β Removing host and port of microservice to call them
β Fiegn client how to use calling hotel service
β Implementing api gateway in simple way
β Configure multiple url to api gateway
β Config server in microservices
β Implementing config server in microservices
β Implementing cloud config client
β Fault torance and circut breaker
β Circut breaker using resilience4J
β Retry module
β Spring security with using OKTA Auth
β OKTA configurations
β Spring security at api gateway using okta_new
β Implementing Spring security at userservice
β Creating feign interceptor
β Creating rest template client
β Implementing security at rating and hotel service