2805 views • Designing μ-services
Say, we are building a Social Network and anytime someone reacts to your post, you need to be notified. So, how should the Reaction service talk to the Notification service to send out a notification?
The communication would be much simpler and reliable, just a function call if it was a monolith; but things become tricky as we go distributed.
Microservices need to talk to each other to exchange information and get things done; and there are two categories of communication patterns - Synchronous and Asynchronous.
Communication is synchronous when one service sends a request to another service and waits for the response before proceeding further.
The most common implementation of Sync communication is over HTTP using protocols like REST, GraphQL, and gRPC.
The communication is asynchronous when the one service sends a request to another service and does NOT wait for the response; instead, it continues with its own execution.
Async communication is most commonly implemented using a message broker like RabbitMQ, SQS, Kafka, Kinesis, etc.
If you like what you read subscribe you can always subscribe to my newsletter and get the post delivered straight to your inbox. I write essays on various engineering topics and share it through my weekly newsletter.
2225 views • 114 likes • 2022-07-04
As your application evolves, supporting multiple types of clients like Desktop, Mobile apps, etc becomes tricky. The bac...
850 views • 50 likes • 2022-06-27
Running microservices in isolation does not make any sense. To get something done, multiple microservices need to talk t...
856 views • 35 likes • 2022-06-20
An engineer working on Microservices should not only just focus on engineering; there are so many other aspects to look ...
631 views • 27 likes • 2022-06-17
We all love creating microservices, but what if every team creates its own microservice uniquely and uses its own conven...
A set of courses designed to make you a better engineer and excel at your career; no-fluff, pure engineering.
Being a passionate engineer, I love to talk about a wide range of topics, but these are my personal favourites.
Arpit's Newsletter read by 17000+ engineers
🔥 Thrice a week, in your inbox, an essay about system design, distributed systems, microservices, programming languages internals, or a deep dive on some super-clever algorithm, or just a few tips on building highly scalable distributed systems.
Powered by this tech stack.