nchan_redis_retry_commands_max_wait

Директива 'nchan_redis_retry_commands_max_wait' задаёт максимальное время ожидания при повторной попытке выполнения команд Redis в системе обмена сообщениями pub/sub Nchan.

Синтаксисnchan_redis_retry_commands_max_wait time;
По умолчаниюnone
Контекстupstream
Аргументы1

Описание

Директива 'nchan_redis_retry_commands_max_wait' используется для управления максимальной длительностью, которую Nchan будет ждать при попытках повторной отправки команд к бэкенду Redis. Это особенно полезно в сценариях, когда Redis может быть временно недоступен или испытывать проблемы с задержкой. Когда команда терпит неудачу, система будет автоматически повторять попытки в пределах указанного лимита, пока команда либо не выполнится успешно, либо не превысит это максимальное время ожидания.

Значение, задаваемое для этой директивы, должно быть интервалом времени (длительностью) и задаётся в секундах или в сокращённой записи (например, '1s', '500ms'). Эта директива является важным аспектом устойчивости в архитектуре pub/sub, обеспечивая, что временные ошибки с Redis не приводят к постоянным сбоям или потере доставки сообщений. Если порог времени ожидания превысится, Nchan зарегистрирует ошибку и может прервать операцию.

Оптимальное использование этой директивы требует понимания нормальной задержки и характеристик производительности вашего бэкенда Redis, что позволяет задать подходящее значение таймаута, которое балансирует между устойчивостью и предотвращением чрезмерных задержек в обработке сообщений.

Пример конфига

upstream backend {
    nchan_redis_retry_commands_max_wait 1s;
    server 127.0.0.1:6379;
}

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

Отсутствие указания значения или использование нестандартного формата может привести к ошибкам синтаксиса при перезагрузке конфигурации.

← Ко всем директивам