Привет! Вопрос безотносительно языка программирования по кролиководству - как вы

выходите из ситуации с блокировкой соединений по watermark (RAM/диск) ? На официальном сайте написано что блокируются publish-еры. Но и consumer-ы также не могут переполненную очередь разгрести. В одном из cообщений в maillist 10+летней давности писали, что разделить connetion 'паблишера' или 'консумера' - невозможно (ссылаясь на 'ограничения/специфику' AMQP протокола) со стороны сервера - поэтому RMQ превращается в тыкву по всем параметрам.

Сразу скажу - у меня имеется понимание о необходимости заблаговременных алертах, коротких очередях + партиционировании, достаточном количестве шустрых консумеров, consume вместо get.. (и прочих best practices по RMQ), но мой вопрос - что можно (и можно ли) сделать, если очереди до watermark насыщаются крайне быстро ( 64 GB RAM одной ноды при определенных обстоятельствах заваливаем за 10 минут и алерты мало помогают).

Вообще, блокировка publish-еров это хорошо, но то что консумеры уже не способны обработать очередь при watermark и лочатся также как publish-еры - это больно - приходится 'будить' в себе админа и в CLI дропать врукопашную все.

Напрашивается какой-то сигнальный канал или опрос publish-еров состояния кроликов, чтобы искусственно самим до наступления watermark заблокироваться. Но может это велосипед, если существуют изящнее решения?

4 ответов

25 просмотров
Terry-Malloy Автор вопроса

я поэтому и написал что понимание есть (да, в моем случае проблема архитектуры), но ввиду опеределнных нетехнических сложностей, она изменится не быстро. Вот и интересно кто как решает. Кроме того, даже в идеальной архитектуре уместно подстраховаться на этот случай.

Terry Malloy
я поэтому и написал что понимание есть (да, в моем...

Ну решается прометеем и алертами с запасом до наступления вотерморка

хех, знакомо. (про пол года бюрократии) и не понял - вы логи железок разгребаете через реббит?

Terry-Malloy Автор вопроса
Aleksey Barabanov
хех, знакомо. (про пол года бюрократии) и не понял...

да, почти. inventory оборудования, где размер message может быть от пары килобайт до 5 метров.

Похожие вопросы

Обсуждают сегодня

Всем привет. Понимаю, что, наверное, сто раз поднимали эту тему, но по ключевым словам не смог найти. Как передать в values.yaml зависимого хелм-чарта теги образов, собираемых...
Vitalik Petrov
4
Всем привет. Werf v2.10.5 При удалении релиза вместе с неймспейсом (werf dismiss --namespace namespace_name) Сыпятся ошибки ┌ Waiting for resources elimination: namespaces/rel...
Vitalik Petrov
1
@aigrychev, @ilya_lesikov добрый день! а поддерживает ли werf helm xxxx или werf bundle xxxx работу с сабчартами через http-прокси? (сработает ли использование HTTP_PROXY/HTTP...
Сергей Голод
4
Добрый день! Удалил все файлы с переменными из проекта, получил Error: release deploy: process resources: error validating adoptable resources: adoption validation failed: re...
Evgheni Mad
2
Привет! Вопрос про werf helm Приложение деплоится через werf helm upgrade --atomic Иногда(все условия для воспроизведения до конца непонятны, но есть версия, что это происходи...
𝓐𝓵͢͢͢𝓮𝔁 C
2
Всем привет. Сегодня добавили в приложение дополнительный образ nginx, в который докидывается системная статика прям в образ. При деплое бандлами деплоилось 200+ джоб(клиентов...
Владимир Муковоз
6
Добрый день, после перехода с версии 1.2 на 2.10 werf cleanup начал удалять использующиеся теги, и до и после обновления использовались дефолтные политики keepPolicies Подскаж...
Дмитрий
29
Блин а мне как поумнеть ?
Toxin
191
Друзья, добрый день. Прошу подсказать с базовым вопросом по использованию CI переменных gitlab в werf.yaml. Хочу в beforeInstall использовать env переменную с токеном. Мне нуж...
Anton Zol
10
Вопросик не совсем werf. Но вдруг мы подскажите воркэраунд или ещё что-нибудь. Могу ли я как-нибудь в моменте деплоя внутри heml рендера получить хэшсумму файла шаблона (./tem...
Alex Подрябинкин
11
Карта сайта