Что такое буфер сообщений? - PullRequest
0 голосов
/ 07 сентября 2018

Я читал этот учебник о RabbitMQ. В описании того, что такое очередь в RabbitMQ, говорится следующее:

Очередь ограничена только пределами памяти хоста и дисков, она по существу большой буфер сообщений.

В этом контексте, что такое буфер сообщений? Это общая структура данных?

1 Ответ

0 голосов
/ 09 сентября 2018

В этом контексте, что такое буфер сообщений? Это общая структура данных?

A буфер в области компьютерных наук обычно относится к структуре данных или области памяти, которая временно хранит данные во время их перемещения из одного места в другое.

Вы найдете буферы, широко распространенные на многих уровнях абстракции в аппаратном / программном стеке. Они особенно распространены вокруг точек взаимодействия с аппаратными устройствами (например, чтение / запись данных в / из программного обеспечения и периферийных устройств) и в сетевом коде, который записывает данные в / из сетевых сокетов. Они особенно полезны в тех случаях, когда необходимо разделить производителя и потребителя (например, различные процессы могут считывать / записывать буферизованные данные или делать это с разными скоростями) или в тех случаях, когда пользователи ресурса должны стоять в очереди перед обслуживанием.

В контексте RabbitMQ «буфер сообщений» относится к структуре данных очереди сообщений Rabbit. Очередь - это область памяти, поддерживаемая постоянной копией сообщений на диске, в которой RabbitMQ хранит сообщения, отправленные производителями 1 , в то время как он ожидает, что потребитель прочитает очередь и обработает сообщение. Брокер RabbitMQ действует как посредник, чтобы отделить процессы производителя и потребителя друг от друга.

1 Конечно, RabbitMQ предлагает своим пользователям расширенную логику маршрутизации для отправленных сообщений. Сообщения, отправленные пользователями, могут быть переданы непосредственно в очередь (буфер) для доставки, или они могут проходить через более сложный набор маршрутов, который динамически доставляет сообщение в ноль или более очередей для доставки нескольким пользовательским процессам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...