@vaservaser

Почему я очень просто сломал RabbitMQ?

Всем привет!
Почитал много хорошего про RabbitMQ и решил поставить на один из своих Ubuntu-серверов.
Установил, запустил, проверил, всё работает - принимает сообщения с других машин, и точно так же хорошо их отдаёт другим машинам. Вроде бы работает как надо.
Но потом я решил запустить python-скрипт, который отсылал в RabbitMQ сообщения (base64 в 100Кб) десятки раз в секунду.
Какое-то время всё работало - второй скрипт забирал сообщения из очереди, но периодически был фризы на 1-5 секунд. Потом всё опять работало.
И вот в какой-то момент всё сломалось. Второй скрипт перестал получать сообщения от RabbitMQ.
Захожу в веб-панель https://bla.bla.la:15672 чтобы посмотреть что там с кроликом и вижу сообщения о 500-х ошибках, панели управления нет - Rabbit не работает.
В общем, никак он не поднимается и дошло дело до полной его переустановки.
Вопро такой - неужели RabbitMQ настолько плох и такой ненадёжный, что ломается так просто? Это же его основная задача - принимать сообщения в очередь и отдавать их.
И тут на тебе, на ровном месте сломался, десятки сообщений в секунду обработать нормально не смог.
  • Вопрос задан
  • 1382 просмотра
Пригласить эксперта
Ответы на вопрос 4
@sokoloid
Вообще пмм это ошибка проектирования. Кролик не для того чтобы файлы рассылать. Ставьте в очередь информацию со ссылкой на файл, обработчик после загрузки файла по ссылке подтвердит обработку сообщения.
Ответ написан
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Судя по другим комментариям вы используете кролика не по назначению. Message Broker так называется по тому что передает сообщения. Если вы хотите прислать сообщение о ресурсе то передавать надо только ссылку на него. Не городите огород
Ответ написан
rino906
@rino906
Я бы не был так категоричен к кролику, возможно, он сломался из-за того что вы забили всю доступную оперативную память и не настроили ватермарки(по памяти, по диску) + из-за того что у вас довольно крупные сообщения вам потребуется настроить вытеснение сообщений из оперативной памяти на диск. При этом хочу отметить, что предложенный sokoloid вариант с сохранением файлов во временное хранилище является более надёжным
Ответ написан
@Fixid
Кролик на одной ноде не любит большие сообщения за короткий промежуток. Надо или тюнить или менять тип очереди.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы