nchan_deflate_message_for_websocket

Директива nchan_deflate_message_for_websocket включает сжатие сообщений для соединений WebSocket с использованием модуля Nchan.

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

Описание

Директива nchan_deflate_message_for_websocket является частью модуля Nchan для NGINX, который предоставляет масштабируемую функциональность pub/sub сервера. Эта директива специально настраивает соединения WebSocket так, чтобы сжимать сообщения перед отправкой подписчикам. Включение этого сжатия может значительно сократить объём данных, передаваемых по сети, что особенно полезно для больших сообщений и при ограниченной пропускной способности.

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

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

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

location /nchan {
    nchan_deflate_message_for_websocket on;
    nchan_pubsub;
}

Убедитесь, что WebSocket-клиенты поддерживают сообщения, сжатые с помощью DEFLATE; в противном случае они могут не подключаться или неправильно обрабатывать сообщения.

Будьте осторожны с дополнительной нагрузкой на CPU, создаваемой сжатием сообщений, особенно в условиях высокой нагрузки.

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