Direct HTTP Communication
Not a good solution that makes coupling each microservices, and loose power of microservices independency.
▪ Async Communication
The best practice is reducing inter-service communication as much as possible and use async communication. Can't reduce these internal communications due to customer requirement.
▪ Client send query request to internal microservices to accumulate some data.
▪ Those query request wait immediate response so we can't proceed with async communication.
▪ Transient errors, Network congestion or any overloaded microservice can result in long-running and failed operations.
▪ Materialized View Pattern
Reduce inter-service communication and provide sync response.