Как работает разветвление в Rabbitmq?
Мы используем rabbitmq в производстве и действительно довольны этим. мы планируем использовать функцию разветвления rabbitmq, но хотели бы разобраться во внутреннем.
Вот мои вопросы:
1. Когда сообщение передается в несколько очередей, копируется ли оно в разные очереди, а не просто в ссылку?
2. если все сообщение продублировано во всех очередях фанатов, есть ли способ сделать его эффективным?
Спасибо,
-Bala
1 ответ
Для хранения содержимого сообщения AMQP RabbitMQ использует "двоичные файлы" определенного типа в Erlang.
Erlang VM копирует эти двоичные файлы только в том случае, если они достаточно малы (если я правильно помню, ограничение составляет 64 байта), в противном случае используется счетчик ссылок. В документации Erlang есть глава о том, как реализованы двоичные файлы. Параграф 4.1 должен вас заинтересовать.