Пишу, по большей части, про историю, свою жизнь и немного про программирование.

RabbitMQ и место на диске

Мы с сервером очередей RabbitMQ сталкиваемся редко — на нём исторически один продукт, остальные используют другой сервер. Впрочем, есть он не просил, проблем не обнаруживалось. А тут на днях появились странности — сервер на одном из проектов периодически как будто подвисал, принимал соединения, но команды словно «замерзали». Перезапуск помогал, но ненадолго.

Оказывается, каждые десять секунд RabbitMQ проверяет наличие свободного места, если оно меньше лимита (в нашем пакете, по-умолчанию — 1000000000 байт), то он останавливается и ждёт, когда место появится. Так он пытается предотвратить падение из-за нехватки дискового пространства.

Изучения логов результата не проносило и немудрено — сообщение о проблеме очень быстро оказывалось погребено под уймой другой информации, а оно, если лимит быстро исчерпывается, проскакивает ближе к началу старта сервера, очень легко пропустить. Помогло чтение форумов и эксперименты.

5 комментариев
anonymous 2018

Привет, а какой другой сервер очередей используете?

Евгений Степанищев 2018

Привет!

Gearman: http://gearman.org/

Fyodor Ustinov 2018

И как он (gearman) в продакшине? Не сильно стрёмно? А то даже документации половины не хватает...

Евгений Степанищев 2018

Нет, всё здорово, проблем никаких нет, вообще.

Fyodor Ustinov 2018

Что только люди не напридумывают, лишь бы Ерланг не учить.