Design Distributed Message Queue
Design Distributed Message Queue
Problem Statement

synchronous communication

asynchronous communication - add a queue

Requirements

High-level Architecture

VIP and Load Balancer


FrontEnd Service










Metadata Service

Backend Service

Option 1: Leader-Follower relationship

Option 2: Small cluster of independent hosts


What else is important?
Queue creation and deletion
Message deletion
Message replication
Message delivery semantics
Push vs. pull
FIFO
Security
Monitoring
Final look
Is it scalable?
Is it highly available?
Is it highly performant?
Is it durable?
PreviousAirbnb - Avoiding Double Payments in a Distributed Payments SystemNextCherami: Uber Engineering’s Durable and Scalable Task Queue in Go
Last updated