Интерфейс gRPC
ADQM поддерживает интерфейс gRPC. Это система удаленного вызова процедур с открытым исходным кодом, которая использует HTTP/2 и Protocol Buffers. В реализации gRPC в ADQM поддерживаются:
- SSL;
- аутентификация;
- сессии;
- сжатие;
- параллельные запросы, выполняемые через один канал;
- отмена запросов;
- получение прогресса операций и логов;
- внешние таблицы.
Спецификация интерфейса содержится в
Clickhouse_grpc.proto
.Чтобы сделать доступным интерфейс gRPC, нужно задать порт с помощью настройки
grpc_port
в конфигурации сервера. Другие настройки приведены в примере ниже.Пример<grpc_port>9100</grpc_port> <grpc> <enable_ssl>false</enable_ssl> <!-- Пути к файлам сертификатов и ключей. Используются при включенном SSL --> <ssl_cert_file>/path/to/ssl_cert_file</ssl_cert_file> <ssl_key_file>/path/to/ssl_key_file</ssl_key_file> <!-- Запрашивает ли сервер сертификат клиента --> <ssl_require_client_auth>false</ssl_require_client_auth> <!-- Используется, если необходимо запрашивать сертификат --> <ssl_ca_cert_file>/path/to/ssl_ca_cert_file</ssl_ca_cert_file> <!-- Алгоритм сжатия по умолчанию (применяется, если клиент не указывает алгоритм, см. `result_compression` в QueryInfo). Поддерживаются алгоритмы: none, deflate, gzip, stream_gzip --> <compression>deflate</compression> <!-- Уровень сжатия по умолчанию (применяется, если клиент не указывает уровень сжатия, см. `result_compression` в QueryInfo). Поддерживаемые уровни: none, low, medium, high --> <compression_level>medium</compression_level> <!-- Ограничение в байтах на размер отправляемых и принимаемых сообщений. -1 означает отсутствие ограничения --> <max_send_message_size>-1</max_send_message_size> <max_receive_message_size>-1</max_receive_message_size> <-- Выводить ли детализированные логи --> <verbose_logs>false</verbose_logs> </grpc>