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