Конфигурация репликаторов данных | Clusters_Federation
Справочники Конфигурация репликаторов данных

Конфигурация репликаторов данных

Документ рассматривает параметры конфигурации репликаторов данных для Tarantool Clusters Federation (TCF).

gateway

Параметры конфигурации Gateway.

gateway.grpc_server

Параметры gRPC-сервера, к которому подключается Destination для получения потока транзакций.

Тип: map

Пример:

gateway:
  grpc_server:
    host: 192.168.64.9
    port: 10080
  # ...

gateway.grpc_server.host

Адрес, на котором запускается gRPC-сервер.

Тип: string

gateway.grpc_server.port

Порт, на котором gRPC-сервер ожидает входящие соединения.

Тип: string

gateway.grpc_server.ssl_cert_file

Доступно с версии 0.5.0.

Путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination.

Тип: string

Пример:

gateway:
  # ...
  grpc_server:
    ssl_cert_file: /path/to/server.crt
    ssl_key_file: /path/to/server.key
    ssl_ca_file: /path/to/ca.crt

Примечание

Параметры gateway.grpc_server.ssl_cert_file и gateway.grpc_server.ssl_key_file являются взаимозависимыми — при указании одного из них второй становится обязательным.

См. также: gateway.grpc_server.ssl_key_file и gateway.grpc_server.ssl_ca_file.

gateway.grpc_server.ssl_key_file

Доступно с версии 0.5.0.

Путь к файлу закрытого ключа сервера, который соответствует сертификату из параметра gateway.grpc_server.ssl_cert_file. Используется для установки защищенного TLS-соединения.

Тип: string

Примечание

Параметры gateway.grpc_server.ssl_cert_file и gateway.grpc_server.ssl_key_file являются взаимозависимыми — при указании одного из них второй становится обязательным.

gateway.grpc_server.ssl_ca_file

Доступно с версии 0.5.0.

Путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установке TLS-соединения.

Тип: string

Примечание

Параметр gateway.grpc_server.ssl_ca_file обрабатывается только в случае, если заданы gateway.grpc_server.ssl_cert_file и gateway.grpc_server.ssl_key_file. При их отсутствии возникает ошибка.

gateway.http_server

Параметры HTTP-сервера. См. также TCF Gateway.

Тип: map

Пример:

gateway:
  # ...
  http_server:
    host: 192.168.64.9
    port: 10081

gateway.http_server.host

Адрес, на котором запускается HTTP-сервер.

Тип: string

gateway.http_server.port

Порт, на котором HTTP-сервер ожидает входящие соединения.

Тип: string

gateway.http_server.ssl_cert_file

Доступно с версии 0.5.0.

Путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination.

Тип: string

Пример:

gateway:
  http_server:
    host: 0.0.0.0
    port: 10081
    ssl_cert_file: "/path/to/the/cert/file"
    ssl_key_file: "/path/to/the/key/file"
    ssl_ca_file: "/path/to/the/ca/file"

Примечание

Параметры gateway.http_server.ssl_cert_file и gateway.http_server.ssl_key_file являются взаимозависимыми — при указании одного из них второй становится обязательным.

См. также: gateway.http_server.ssl_key_file и gateway.http_server.ssl_ca_file.

gateway.http_server.ssl_key_file

Доступно с версии 0.5.0.

Путь к файлу закрытого ключа сервера, который соответствует сертификату из параметра gateway.http_server.ssl_cert_file. Используется для установки защищенного TLS-соединения.

Тип: string

Примечание

Параметры gateway.http_server.ssl_cert_file и gateway.http_server.ssl_key_file являются взаимозависимыми — при указании одного из них второй становится обязательным.

gateway.http_server.ssl_ca_file

Доступно с версии 0.5.0.

Путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установке TLS-соединения.

Тип: string

Примечание

Параметр gateway.http_server.ssl_ca_file обрабатывается только в случае, если заданы gateway.http_server.ssl_cert_file и gateway.http_server.ssl_key_file. При их отсутствии возникает ошибка.

gateway.replica_type

Тип реплики, в качестве которой Gateway подключается к кластеру.

Возможные значения: anonymous, regular

Тип: string

Пример:

gateway:
  # ...
  replica_type: anonymous

gateway.max_cpu

Максимальное число ядер, которые может использовать Gateway. По умолчанию Gateway использует все доступные ядра и создает один поток для каждого набора реплик.

Тип: number

gateway.log_level

Уровень логирования.

Возможные значения: fatal, syserror, error, crit, warn, info, verbose, debug

Тип: string

gateway.log_type

Формат логов.

Возможные значения: plain, json

Тип: string

gateway.log_path

Путь к каталогу с файлами логов.

Тип: string

gateway.stream_instances

Параметры экземпляров хранилища кластера, к которым подключается Gateway для получения потока транзакций. См. <instance_params>.

Тип: array

Пример:

gateway:
  # ...
  stream_instances:
    - uri: 192.168.64.9:3302
      user: replicator
      password: foobar
    - uri: 192.168.64.9:3303
      user: replicator
      password: foobar
    # ...

<instance_params>

Параметры подключения экземпляра кластера по протоколу iproto.

Тип: map

<instance_params>.uri

URI для подключения к экземпляру кластера.

Тип: string

<instance_params>.user

Имя пользователя для подключения к экземпляру кластера.

Тип: string

<instance_params>.password

Пароль пользователя, используемого для подключения.

Тип: string

gateway.ssl_opts

Настройки TLS, используемые для подключения к экземплярам кластера. <gateway_or_destination>.ssl_opts описывает возможные параметры подключения.

Тип: array

gateway.start_retry_delay

Задержка в миллисекундах перед началом повторной попытки подключения к роутерам для получения служебной информации и формирования соединения.

Тип: number

Значение по умолчанию: 100

gateway.max_retry_delay

Максимальная задержка в миллисекундах перед началом повторной попытки подключения к роутерам для получения служебной информации и формирования соединения.

Тип: number

gateway.retry_attempts

Количество разрешенных попыток повторного подключения к роутерам.

Тип: number

Значение по умолчанию: 10

gateway.metrics_enabled

Включить метрики для Gateway в формате prometheus. Для получения значений метрик используйте HTTP-endpoint /metrics.

Пример:

gateway:
  # ...
  metrics_enabled: true

Тип: boolean

destination

Параметры конфигурации Destination.

destination.gateways

Доступно с версии 0.5.0.

Настройки подключения компонента Destination к компоненту Gateway по gRPC.

Тип: array

Параметр позволяет задать группу из одного или нескольких экземпляров компонента Gateway. Если в конфигурации заданы несколько экземпляров, они обеспечивают отказоустойчивость при получении данных с активного кластера.

Если экземпляр Gateway, который используется сейчас для межкластерной репликации, выходит из строя, передача данных переключается на резервный экземпляр Gateway из заданной группы экземпляров.

Пример:

destination:
  gateways:
    - host: 192.168.64.9
      port: 10080
    - host: 192.168.64.10
      port: 11080
    - host: 192.168.64.11
      port: 12080
  # ...

destination.gateways.host

Адрес, на котором запущен gRPC-сервер gateway.

Тип: string

destination.gateways.port

Порт для подключения к gRPC-серверу.

Тип: string

destination.gateways.ssl_cert_file

Доступно с версии 0.5.0.

Путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination.

Тип: string

Пример:

destination:
  # ...
  gateways:
    ssl_cert_file: /path/to/server.crt
    ssl_key_file: /path/to/server.key
    ssl_ca_file: /path/to/ca.crt

Примечание

Параметры ssl_cert_file и ssl_key_file являются взаимозависимыми — при указании одного из них второй становится обязательным.

См. также: destination.gateways.ssl_key_file и destination.gateways.ssl_ca_file.

destination.gateways.ssl_key_file

Доступно с версии 0.5.0.

Путь к файлу закрытого ключа сервера, который соответствует сертификату из параметра destination.gateways.ssl_cert_file.

Используется для установки защищенного TLS-соединения.

Тип: string

Примечание

Параметры destination.gateways.ssl_cert_file и destination.gateways.ssl_key_file являются взаимозависимыми — при указании одного из них второй становится обязательным.

destination.gateways.ssl_ca_file

Доступно с версии 0.5.0.

Путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установлении TLS-соединения.

Тип: string

Примечание

Параметр destination.gateways.ssl_ca_file обрабатывается только в случае, если заданы destination.gateways.ssl_cert_file и destination.gateways.ssl_key_file. При их отсутствии возникает ошибка.

destination.gateway

Начиная с TCF 0.5.0, параметр destination.gateway считается устаревшим, он будет удалён в будущих версиях продукта.

Вместо него используйте параметр destination.gateways.

Параметры подключения к Gateway, которые использует Destination для подключения по gRPC.

Тип: map

Пример:

destination:
  gateway:
    host: 192.168.64.9
    port: 10080
  # ...

destination.gateway.host

Адрес, на котором запущен gRPC-сервер.

Тип: string

destination.gateway.port

Порт для подключения к gRPC-серверу.

Тип: string

destination.http_server

Параметры HTTP-сервера. См. также TCF Destination.

Тип: map

destination.http_server.host

Адрес, на котором запускается HTTP-сервер.

Тип: string

destination.http_server.port

Порт, на котором HTTP-сервер ожидает входящие соединения.

Тип: string

destination.http_server.ssl_cert_file

Доступно с версии 0.5.0.

Путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination.

Пример:

destination:
  http_server:
    host: 0.0.0.0
    port: 10081
    ssl_cert_file: "/path/to/the/cert/file"
    ssl_key_file: "/path/to/the/key/file"
    ssl_ca_file: "/path/to/the/ca/file"

Примечание

Параметры destination.http_server.ssl_cert_file и destination.http_server.ssl_key_file являются взаимозависимыми — при указании одного из них второй становится обязательным.

Тип: string

См. также: destination.http_server.ssl_key_file и destination.http_server.ssl_ca_file.

destination.http_server.ssl_key_file

Доступно с версии 0.5.0.

Путь к файлу закрытого ключа сервера, который соответствует сертификату из параметра destination.http_server.ssl_cert_file. Используется для установки защищенного TLS-соединения.

Тип: string

Примечание

Параметры destination.http_server.ssl_cert_file и destination.http_server.ssl_key_file являются взаимозависимыми — при указании одного из них второй становится обязательным.

destination.http_server.ssl_ca_file

Доступно с версии 0.5.0.

Путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установке TLS-соединения.

Тип: string

Примечание

Параметр destination.http_server.ssl_ca_file обрабатывается только в случае, если заданы destination.http_server.ssl_cert_file и destination.http_server.ssl_key_file. При их отсутствии возникает ошибка.

destination.storage

Добавлен в версии 0.5.0.

Параметр позволяет задать группу из одного или нескольких экземпляров Destination, на которые компонент Destination может выполнять запись реплицируемых данных.

Если в конфигурации заданы несколько экземпляров, они обеспечивают отказоустойчивость при получении данных с компонента Gateway. Если экземпляр Destination, который используется сейчас для межкластерной репликации, становится недоступен, прием данных автоматически переключается на резервный экземпляр Destination из заданной группы экземпляров.

Поддерживаемые параметры:

  • storage– тип хранилища конфигурации, которое используется для хранения состояния кластеров. Тип: string. Возможные параметры: etcd_v2, etcd_v3, config_storage;

  • storage_params – параметры хранилища конфигурации. Возможные параметры:

    • endpoints – массив узлов хранилища конфигурации с возможностью указания нескольких подключений. Тип: array. Возможные параметры:

      • host– адрес узла хранилища состояния кластеров (например, etcd), на который Destination может выполнять запись. Тип: string;

      • port – порт для подключения к узлу хранилища состояния кластеров. Тип: string;

    • prefix– префикс (путь внутри хранилища состояния кластеров), который используется для размещения записей Destination. Должен быть уникальным для каждой группы экземпляров Destination. Значение по умолчанию: /tcf. Тип: string;

    • ttl – время жизни записей (TTL) в хранилище состояния кластеров, задаётся в секундах. Должно быть одинаковым для всех экземпляров Destination в группе. Значение по умолчанию: 30. Тип: number.

Пример:

destination:
  storage: etcd_v2
  storage_params:
    endpoints:
      - host: 192.168.64.10
        port: 3013
      - host: 192.168.64.11
        port: 3013
    prefix: /destination1
    ttl: 10

destination.ssl_opts

Настройки TLS, используемые для подключения к экземплярам кластера. <gateway_or_destination>.ssl_opts описывает возможные параметры подключения.

Тип: array

destination.buffer_size

Размер внутреннего буфера на каждый набор реплик для выполнения служебных операций.

Тип: number

Значение по умолчанию: 1024

destination.log_level

Уровень логирования.

Возможные значения: fatal, syserror, error, crit, warn, info, verbose, debug

Тип: string

destination.log_type

Формат логов.

Возможные значения: plain, json

Тип: string

destination.log_path

Путь к каталогу с файлами логов.

Тип: string

destination.vshard_routers

Параметры подключения к роутерам кластера.

Пример:

destination:
  # ...
  vshard_routers:
    hosts:
      - "192.168.64.12:3301"
    user: replicator
    password: foobar

destination.vshard_routers.hosts

Список URI роутеров кластера. Если роутеров несколько, их URI перечислены через запятую.

Тип: array

destination.vshard_routers.user

Имя пользователя для подключения к экземпляру кластера.

Тип: string

destination.vshard_routers.password

Пароль пользователя, используемого для подключения.

Тип: string

destination.start_retry_delay

Задержка в миллисекундах перед началом повторной попытки подключения к роутерам для получения служебной информации и формирования соединения.

Тип: number

Значение по умолчанию: 100

destination.max_retry_delay

Максимальная задержка в миллисекундах перед началом повторной попытки подключения к роутерам для получения служебной информации и формирования соединения.

Тип: number

destination.retry_attempts

Количество разрешенных попыток повторного подключения к роутерам.

Тип: number

Значение по умолчанию: 10

destination.max_cpu

Максимальное число ядер, которые может использовать Destination. По умолчанию Destination использует все доступные ядра и создает один поток для каждого набора реплик.

Тип: number

destination.metrics_enabled

Включить метрики для Destination в формате prometheus. Для получения значений метрик используйте HTTP-endpoint /metrics.

Пример:

destination:
  # ...
  metrics_enabled: true

Тип: boolean

<gateway_or_destination>.ssl_opts

Настройки TLS, используемые для подключения к экземплярам кластера. Данные настройки используются в следующих параметрах конфигурации:

Пример для Gateway:

gateway:
  # ...
  ssl_opts:
  - key_file: "certs/dbhost1.key"
    cert_file: "certs/dbhost1.crt"
    ca_file: "certs/root_ca.crt"
    ciphers: "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"
  - uri_regexp: "dbhost2"
    key_file: "certs/dbhost2.key"
    cert_file: "certs/dbhost2.crt"
    ca_file: "certs/root_ca.crt"
    ciphers: "GOST2012-GOST8912-GOST8912:GOST2001-GOST89-GOST89"

ssl_opts.uri_regexp

Формат, которому должен соответствовать URI экземпляра кластера.

Тип: string

ssl_opts.key_file

Путь к закрытому ключу.

Тип: string

ssl_opts.cert_file

Путь к сертификату.

Тип: string

ssl_opts.ca_file

Путь к корневому сертификату.

Тип: string

ssl_opts.ciphers

Список наборов шифров TLS, разделенных двоеточиями. Список поддерживаемых наборов шифров вы можете найти в документации Tarantool.

Тип: string

Нашли ответ на свой вопрос?
Обратная связь