So I've been doing some research around Event Driven design for Microservice architecture to help decouple some of the microservices I've been helping develop. Currently the problem I've been running into is that each microservice is calling other microservices directly for data which seems to be tightly coupling them and is outlined in the following article:
https://thenewstack.io/synchronous-rest-turns-microservices-back-monoliths/
So event driven architecture seems to help with the overall design but where I get confused at is how would a GET request work for data if the API that is called needs data from another service? Would it post a request into a bus and subscribe for an answer? Do you just have to wait then for a response possibly delaying the response to the consumer?
Or is this a case where you would need to call another API directly? Any resources would be very much appreciated.