Конфигурация репликаторов данных¶
Документ рассматривает параметры конфигурации репликаторов данных для 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.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.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.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
# ...
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
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.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.http_server¶
Параметры HTTP-сервера. См. также TCF Destination.
Тип: map
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.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
<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.ciphers¶
Список наборов шифров TLS, разделенных двоеточиями. Список поддерживаемых наборов шифров вы можете найти в документации Tarantool.
Тип: string