Pretty often when teams start out with microservices; they split up a monolith and make the intra-monolith calls into remote RPC calls. Or, in every day terms: They put an HTTP API over those old function calls and now call that instead.

Why would anyone do that? What do you gain?

You're still coupled to that service being available.

You don't have request autonomy.

You've added extra network latency and another point of failure.

Sure you can scale that new service; but the same problems remain.

That's one of the reasons why if you're going to pursue microservices; you should pursue an architecture that allows each service to stay autonomous.

Event Driven Architecture does just that.

I'm hosting a webinar on August 18, 2021 at 12pm EDT titled "Event Driven Systems: Bringing Order to Chaos" that helps you understand what Event-Driven means, and how it's a good choice for microservices.