Requirements of a Distributed Messaging Queue’s Design
Establish the functional and non-functional requirements for designing a reliable distributed messaging queue. Understand why single-server queues are inadequate for modern distributed systems. This foundation guides architectural decisions for scalability and durability.
We'll cover the following...
“
- <a href=”#Requirements" aria-label=“Read more about Requirements” >Requirements
- <a href="#Functional-requirements" aria-label=“Read more about Functional requirements” >Functional requirements
- <a href="#Non-functional-requirements" aria-label=“Read more about Non-functional requirements” >Non-functional requirements
- <a href="#Single-server-messaging-queue" aria-label=“Read more about Single-server messaging queue” >Single-server messaging queue
- <a href="#Building-blocks-we-will-use" aria-label=“Read more about Building blocks we will use” >Building blocks we will use
Requirements
A distributed messaging queue stores data across multiple machines. The design must satisfy the following functional and non-functional requirements.
Functional requirements
Clients must be able to perform the following actions:
Queue creation: Clients create a queue and define parameters such as the queue name,
, and maximum message size. ...queue size The maximum number of messages a queue can hold. For example, Amazon SQS has an unlimited standard queue size but limits inflight messages to 120,000.