FRONTEND - MIDDLEEND - BACKEND
- we need intermidiate layer to communicate between client and microservices
- using this middle layer , when client sends request we will make decisions on which microservice to call
- can aslo do message validation , Response tranformation , rate limiting , caching , logging , security , etc
- we try to prepare an API GATEWAY which will be the entry point for all the requests