Если вы можете уточнить некоторые из ваших вопросов и указать, каков ваш вариант использования, я могу отредактировать ответ.
1 - Пока потребитель жив, rabbitmq отправляет входящие сообщения потребителю.Вы можете назначить TTL сообщениям / очередям, если хотите, чтобы срок их действия истек через некоторое время.https://www.rabbitmq.com/ttl.html
2 - Что вы имеете в виду?
3 - Rabbitmq сохраняет данные в базе данных mnesia.https://www.rabbitmq.com/persistence-conf.html https://www.rabbitmq.com/relocate.html
4 - Что вы подразумеваете под фильтрацией сообщений и очисткой очереди?Успешно использованные сообщения удаляются из очереди немедленно.
5 - Вы можете задать ttl для очереди или объявить очередь как автоматическое удаление https://www.rabbitmq.com/ttl.html https://www.rabbitmq.com/queues.html
6 - Если потребители неПри отправке подтверждения кролику сообщения остаются не распакованными до тех пор, пока память не заполнится или кролик не будет доступен
7 - Оба.Потребитель может создать свою собственную очередь и связать ее с обменом, либо он может использовать существующую очередь.Это зависит от варианта использования.
8 - Трудно ответить на это, не зная деталей того, что вы подразумеваете под один-ко-многим .Прямой обмен или разветвление или whatelse, сколько очередей и т. Д.
Но в rabbitmq сообщения, упорядоченные по порядку публикации по умолчанию.
В соответствии с вашей общей ссылкой, rabbitmq отправляет сообщения в первую очередь с более высоким приоритетомпотребителям до тех пор, пока счетчик предварительной выборки потребителя (не распаковывает сообщения для потребителя) не станет его пределом.
9 - вам нужно обработать этот случай в кодеИли вы можете использовать интерфейс управления с плагином Shovel.
https://www.rabbitmq.com/management.html https://www.rabbitmq.com/shovel.html
10 - Опять же, это зависит от конструкции и варианта использования.