Комбинируемые протоколы
Комбинируемые протоколы позволяют более гибко настраивать доступ по TCP к серверу ClickHouse. Эта настройка может сосуществовать с традиционной конфигурацией или заменять её.
Секция комбинируемых протоколов обозначается как protocols
в конфигурационном xml
Пример:
Основные модули определяют слои протоколов
Пример:
где:
plain_http
- имя, на которое может ссылаться другой слойtype
- обозначает обработчик протокола, который будет инстанцирован для обработки данных, набор обработчиков протоколов предопределен:tcp
- родной обработчик протокола ClickHousehttp
- обработчик протокола ClickHouse через httptls
- уровень шифрования TLSproxy1
- уровень PROXYv1mysql
- обработчик протокола совместимости MySQLpostgres
- обработчик протокола совместимости PostgreSQLprometheus
- обработчик протокола Prometheusinterserver
- обработчик межсерверного взаимодействия ClickHouse
примечание
Обработчик протокола gRPC
не реализован для Комбинируемых протоколов
Точка доступа (т.е. порт прослушивания) обозначается тегами <port>
и (по желанию) <host>
Пример:
Если <host>
опущен, то используется <listen_host>
из корневой конфигурации.
Последовательность слоев определяется тегом <impl>
, ссылающимся на другой модуль
Пример: определение для протокола HTTPS
Точка доступа может быть присоединена к любому слою
Пример: определение для HTTP (порт 8123) и HTTPS (порт 8443) точек доступа
Дополнительные точки доступа могут быть определены ссылаясь на любой модуль и опуская тег <type>
Пример: точка доступа another_http
определена для модуля plain_http
Некоторые модули могут содержать специфические для своего слоя параметры
Пример: для слоя TLS можно указать файлы с личным ключом (privateKeyFile
) и сертификатами (certificateFile
)