Requirements of Distributed Messaging Queue

Understand the requirements of distributed messaging queue using a strawman solution.

Requirements and goals of the system

In a distributed messaging queue, data resides on several machines. Our aim is to design a distributed messaging queue having the following functional and non-functional requirements.

Functional requirements

Following are the actions that a client should be able to perform.

  • Queue creation: The client should be able to create a queue and set some parameters, e.g., Queue name, queue sizeQueue size is the maximum number of messages a queue can contain. For example, Amazon’s standard queue size is unlimited; however, for inflight messages, the size is limited to 120,000., and maximum message size.MaxMessageSize

  • Send message: Producer entities should be able to send messages to a queue intended for them.

  • Receive message: Consumer entities should be able to receive messages from the respective queues.

  • Delete message: The consumer processes should be able to delete a message from the queue after successful processing of the message.

  • Queue deletion: The clients should be able to delete a specific queue.

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy