push_store_messages

Директива `push_store_messages` настраивает поведение хранения сообщений, публикуемых в каналах модуля Nchan.

Синтаксисpush_store_messages on | off;
По умолчаниюoff
Контекстhttp, server, location, if in location
Аргументы1

Описание

Директива push_store_messages в Nchan управляет тем, как сообщения сохраняются после публикации в канал. В зависимости от конфигурации она может хранить сообщения в памяти или в более постоянном механизме хранения, таком как Redis. Эта директива играет ключевую роль в определении устойчивости сообщений, отправляемых подписчикам; если сообщение сохранено, оно остаётся доступным для клиентов, подключающихся позже, что обеспечивает гарантии доставки сообщений даже при сетевых сбоях.

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

Эффективное использование push_store_messages может потребовать тщательного баланса между использованием памяти и требованием к сохранности сообщений для различных клиентов. Разработчикам следует учитывать конкретный сценарий использования, например ожидаемый объём сообщений и число одновременных подписчиков, чтобы оптимизировать конфигурацию Nchan соответственно.

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

location /pubsub {
    nchan_pubsub;
    push_store_messages on;
}

Включение хранения сообщений может потреблять значительное количество оперативной памяти или дискового пространства в зависимости от трафика и конфигурации.

Если вы используете push_store_messages с Redis, убедитесь, что Redis правильно настроен и доступен с вашего сервера NGINX.

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