Summary
This chapter was about microservice communication. We talked about different communication techniques such as REST, GraphQL, and RPC.
We discussed the fact that we mostly use two types of communication forms between microservices: synchronous and asynchronous. Sync is simple and has immediate feedback, but it is a blocking operation with attributes such as a single point of failure and coupling. We talked about the advantages and disadvantages of sync and discussed when to and when not to use it in practice.
On the other hand, we learned that async is non-blocking and comes with delayed responses. It is mostly preferable (depending on the task) but brings additional complexity. To make async happen, we learned that we mostly need additional layers like message brokers.
The last part of the discussion was centered around the most used patterns such as API gateway and message broker.
API gateway, as an orchestrator, provides a single point of entry with additional...