nchan_eventsource_ping_data
Директива `nchan_eventsource_ping_data` задаёт полезную нагрузку данных, отправляемую в ходе пингов поддержания соединения подписчикам, использующим протокол EventSource.
Описание
Директива nchan_eventsource_ping_data используется в Nchan — масштабируемом модуле pub/sub для NGINX, предназначенном для организации уведомлений в реальном времени и взаимодействия большого числа одновременных соединений. Когда она включена в подходящем контексте, эта директива определяет, какие данные отправляются в ходе пингов поддержания соединения EventSource. Эта функциональность обеспечивает поддержание активного соединения между клиентом и сервером, предотвращая тайм-ауты и позволяя серверу отправлять обновления клиенту без необходимости постоянного цикла запрос‑ответ.
Настраивая эту директиву, пользователи могут кастомизировать полезную нагрузку пингов, которая может служить различным целям: проверкам работоспособности, передаче идентификаторов версий или отправке метаданных, которые клиент может использовать без необходимости дополнительных запросов к серверу. Аргумент директивы ожидается в виде строки данных, определяющей содержимое ping-данных. Правильное использование этой директивы может заметно улучшить опыт пользователей, поддерживая канал связи в активном состоянии и предоставляя полезную информацию.
Директиву можно задавать в разных контекстах, включая server, location или условный блок внутри location. Такая гибкость позволяет разработчикам оптимизировать поведение сервера в зависимости от конкретных потребностей разных маршрутов или условий обработчиков.
Пример конфига
location /events {
nchan_eventsource_ping_data '{"ping": "keep-alive"}';
# Other Nchan configurations...
}Убедитесь, что формат данных ping — корректный JSON, если вы отправляете структурированные данные.
Будьте осторожны с частотой ping; установка ее слишком низкой может привести к неожиданной нагрузке на сервер.