Communication between microservices is one of the key architectural decisions in a distributed system.
This presentation explores the main patterns used for communication between microservices and the trade-offs associated with each approach. It begins with the fundamental choice between synchronous Remote Procedure Invocation (RPI), using technologies such as REST and gRPC, and asynchronous messaging through queues and publish/subscribe systems.
The slides examine how synchronous dependency chains affect latency and availability, how message brokers reduce temporal coupling, and how commands, events, and asynchronous replies support distributed workflows.
Additional patterns covered include API Gateway, Backend for Frontend (BFF), client-side and server-side service discovery, and essential reliability mechanisms such as timeouts, retries, circuit breakers, bulkheads, idempotency, and Dead-Letter Queues.
The presentation concludes with a practical hybrid architecture that combines an API Gateway at the edge, synchronous calls where immediate responses are required, and asynchronous events for independent processing, side effects, and fan-out.
Topics covered:
• Remote Procedure Invocation (RPI)
• REST and gRPC
• Asynchronous Messaging
• Queues and Publish/Subscribe
• Commands and Events
• API Gateway
• Backend for Frontend (BFF)
• Service Discovery
• Reliability Patterns
• Hybrid Microservices Architecture
You can find the video at https://youtu.be/t7RCQ_t6A7k
You can find the post that summarizes this meetup at https://lifemichael.com/en/communication-patterns-between-microservices/
You can find the catalog of the professional seminars delivered by life michael at https://www.lifemichael.com/seminars/lifemichael_seminars_catalog.pdf