System Design #7: Message Queues — Kafka, RabbitMQ, SQS
In the previous article, you learned about the CAP Theorem and consistency patterns. Now let us look at one of the most important building blocks in distributed systems: message queues. Almost every large-scale system uses message queues. They are the backbone of asynchronous communication between services. What is a Message Queue? A message queue is a system that stores messages sent by one service (the producer) and delivers them to another service (the consumer). The producer and consumer do not need to be online at the same time. ...