nchan_subscriber_first_message

Директива `nchan_subscriber_first_message` настраивает поведение подписчика, определяя, должен ли он получать первое опубликованное сообщение из канала при подписке.

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

Описание

Директива nchan_subscriber_first_message используется в контексте publisher/subscriber-схемы для настройки поведения подписчиков при подключении к каналу. Конкретно она контролирует, должен ли подписчик получать именно первое сообщение, опубликованное в этом канале, при установлении соединения. Эта возможность особенно полезна в сценариях, когда подписчикам нужно сразу же получить актуальный контент канала при подписке.\n\nДирективу можно применять на уровне server, location или внутри 'if' блока в location. Установив эту директиву, администраторы могут задать тонкую настройку поведения подписчиков, обеспечивая более оперативный и информированный опыт при их первом подключении. В частности, это упрощает доставку сообщений в приложениях реального времени, повышая вовлечённость пользователей за счёт немедленной передачи релевантной информации, как только они начинают прослушивание канала.\n\nВажно учитывать влияние такого поведения на гарантии доставки сообщений: включение отправки первого сообщения может привести к увеличению объёмов передаваемых данных в зависимости от времени и частоты публикаций. Кроме того, поведение может отличаться в зависимости от метода подписки, например, при использовании WebSocket или EventSource, у каждого из которых есть свои особенности обработки соединений и сообщений.

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

location /subscribe {
    nchan_subscriber_first_message on;
    nchan_subscriber_channel_id my_channel;
}

Не включайте это, если вы не хотите, чтобы подписчики получали устаревшие или неактуальные сообщения при подключении.

Убедитесь, что метод доставки сообщений (WebSocket, SSE и т. п.) поддерживает доставку первого сообщения, чтобы избежать непредвиденного поведения.

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