How to understand the role of a queue in a distributed system?

I am trying to understand what is the use case of a queue in a distributed system.
And also, how does it scale and how does it make it not the only point of failure in the system?

Any direct response or link to the document is appreciated.

  • Use Case:
    I understand that a queue is a messaging system. And he separates the systems that communicate with each other. But is this the only point to use the queue?

  • Scalability:
    How is the queue scale for large amounts of data? Both read and write.

  • Reliability: How does a queue not become a single point of failure in a system? Does a queue make replication look like a data warehouse?

My question is not indicated to any queue server like Kafka or JMS. Just generally.

+4
source share
1 answer

A queue is a mental concept; an implementation makes a decision about 1 + 2 + 3

A1: No, this is not the only role - messaging seems to be the main one, but signaling with a distributed system is another, by no means less important. Hoare's original CSP paper is the flagship in this area. In recent decades, many advanced features and “smart behaviors” have been developed to develop distributed signaling / messaging service infrastructures.

A2: . , , , . + . BLOB- - , . () smart-Queue - .

A3: , , , SPOF. , , , . (M + N) -failure-resilient, , , + + - - , .

0

Source: https://habr.com/ru/post/1682876/


All Articles