Перейти к основному содержимому
Перейти к основному содержимому

Комбинируемые протоколы

Комбинируемые протоколы позволяют более гибко настраивать доступ по TCP к серверу ClickHouse. Эта настройка может сосуществовать с традиционной конфигурацией или заменять её.

Секция комбинируемых протоколов обозначается как protocols в конфигурационном xml

Пример:

Основные модули определяют слои протоколов

Пример:

где:

  • plain_http - имя, на которое может ссылаться другой слой
  • type - обозначает обработчик протокола, который будет инстанцирован для обработки данных, набор обработчиков протоколов предопределен:
    • tcp - родной обработчик протокола ClickHouse
    • http - обработчик протокола ClickHouse через http
    • tls - уровень шифрования TLS
    • proxy1 - уровень PROXYv1
    • mysql - обработчик протокола совместимости MySQL
    • postgres - обработчик протокола совместимости PostgreSQL
    • prometheus - обработчик протокола Prometheus
    • interserver - обработчик межсерверного взаимодействия ClickHouse
примечание

Обработчик протокола gRPC не реализован для Комбинируемых протоколов

Точка доступа (т.е. порт прослушивания) обозначается тегами <port> и (по желанию) <host>

Пример:

Если <host> опущен, то используется <listen_host> из корневой конфигурации.

Последовательность слоев определяется тегом <impl>, ссылающимся на другой модуль

Пример: определение для протокола HTTPS

Точка доступа может быть присоединена к любому слою

Пример: определение для HTTP (порт 8123) и HTTPS (порт 8443) точек доступа

Дополнительные точки доступа могут быть определены ссылаясь на любой модуль и опуская тег <type>

Пример: точка доступа another_http определена для модуля plain_http

Некоторые модули могут содержать специфические для своего слоя параметры

Пример: для слоя TLS можно указать файлы с личным ключом (privateKeyFile) и сертификатами (certificateFile)