push_stream_max_number_of_wildcard_channels

Директива 'push_stream_max_number_of_wildcard_channels' ограничивает количество подстановочных каналов в NGINX Push Stream Module.

Синтаксисpush_stream_max_number_of_wildcard_channels number;
По умолчаниюnone
Контекстhttp
Аргументы1

Описание

Директива 'push_stream_max_number_of_wildcard_channels' используется для настройки максимального числа подстановочных каналов, которые могут быть созданы в конкретном контексте NGINX с помощью Push Stream Module. Подстановочные каналы особенно полезны, когда нужно позволить подписчикам получать сообщения из нескольких связанных каналов, не подписываясь явно на каждый из них. Например, подписчик может подписаться на канал вида 'news.*', чтобы получать сообщения со всех каналов, начинающихся с 'news'. Установив ограничение на количество таких подстановочных каналов, администраторы могут предотвратить избыточное использование ресурсов и поддерживать производительность системы под высокой нагрузкой.

Когда эта директива настроена, она задаёт верхний предел для подстановочных каналов, которые могут динамически создаваться по мере того, как подписчики обращаются к каналам, соответствующим шаблону. Если количество созданных каналов превышает этот предел, дополнительные подписки могут быть отклонены или обработаны в соответствии с внутренней логикой модуля. Это помогает поддерживать эффективность и предотвращает перегрузку сервера из-за чрезмерного создания каналов, что могло бы привести к ухудшению производительности.

Директива принимает один целочисленный аргумент, который задаёт максимальное число подстановочных каналов. Неправильная настройка или отсутствие этой директивы может привести к нежелательным последствиям, включая то, что подписчики будут получать меньше сообщений, чем ожидалось, из-за отклонения каналов. Поэтому при изменении этого значения следует внимательно взвешивать функциональность и управление ресурсами.

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

http {
    push_stream_max_number_of_wildcard_channels 100;

    server {
        location /sub {
            push_stream_subscriber;
            push_stream_channels_path $arg_id;
        }
    }
}

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

Забыв задать эту директиву, можно столкнуться с проблемами производительности: по умолчанию нет ограничения, и это может перегрузить сервер из-за слишком большого числа каналов.

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