Комбинируемые протоколы
Комбинируемые протоколы позволяют более гибко настраивать доступ по 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)