Интерфейс gRPC

ADQM поддерживает интерфейс gRPC. Это система удаленного вызова процедур с открытым исходным кодом, которая использует HTTP/2 и Protocol Buffers. В реализации gRPC в ADQM поддерживаются:
  • SSL;
  • аутентификация;
  • сессии;
  • сжатие;
  • параллельные запросы, выполняемые через один канал;
  • отмена запросов;
  • получение прогресса операций и логов;
  • внешние таблицы.
Спецификация интерфейса содержится в Clickhouse_grpc.proto.

Конфигурация gRPC

Чтобы сделать доступным интерфейс 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>
Предыдущий раздел
Клиент командной строки
Следующий раздел
HTTP-интерфейc
Была ли страница полезной?