Конфигурация репликаторов данных
Документ рассматривает параметры конфигурации репликаторов данных для Tarantool Clusters Federation (TCF).
Параметры конфигурации Gateway.
Доступно с версии 0.9.0.
Параметры Gateway для конфигурации авторизации на HTTP API.
Тип: map
Пример:
gateway:authorization:provider: keycloakprovider_params:url: "https://keycloak.example.com/"roles:info: ORDERDB_TCF_INFOtoggle: ORDERDB_TCF_TOGGLEadmin: ORDERDB_TCF_ADMINrealm: masterclient_id: master_clientclient_secret_path: /path/to/secretssl:ca_file: "/etc/ssl/certs/keycloak-ca.pem"cert_file: "/etc/ssl/certs/client.pem"key_file: "/etc/ssl/private/client-key.pem"# ...
Имя провайдера для авторизации запросов. На текущий момент поддерживается только значение keycloak.
Тип: string
Поддерживаемые параметры для работы провайдера Keycloak. Тип: map.
url– URL сервера Keycloak. Тип:string;ssl– параметры TLS для HTTP API Keycloak. Тип:map. Поддерживаемые параметры:ca_file– путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установке TLS-соединения. Тип:string;cert_file– путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination. Тип:string;key_file– путь к файлу закрытого ключа сервера, который соответствует сертификату из параметра gateway.grpc_server.ssl_key_file. Тип:string;
client_id– имя сервисного клиента. Тип:string. Параметр доступен начиная с версии 0.11.0;client_secret_path– путь к файлу с секретом клиента. Тип:string. Для повышения безопасности необходимо создать текстовый файл с секретом внутри. Параметр доступен начиная с версии 0.11.0;realm– имя областиrealm, в которой создан сервисный клиент. Тип:string. Параметр доступен начиная с версии 0.11.0;roles– список с соответствием ролей из Keycloak и правил авторизации для компонента Gateway. Тип:map. Поддерживаемые параметры:info– чтение статусов кластеров и метрик. Дает доступ к HTTP-адресам обработчиков запросов: /tcf/status, /tcf/is_active, /tcf/clusters (TCF-worker) и /api/v1/status (Destination). Значение по умолчанию:TCF_INFO. Тип:string;toggle– управление репликацией. Дает доступ ко всем адресам обработчиков запросов, кроме /api/v1/rebootstrap (Destination). Значение по умолчанию:TCF_TOGGLE. Тип:string;admin– полный доступ ко всем адресам обработчиков запросов, включая/api/v1/rebootstrap. Значение по умолчанию:TCF_ADMIN. Тип:string.
Чтобы настроить клиент сервиса для Gateway:
-
Создайте конфиденциального клиента с включенным сервис-аккаунтом
serviceAccountsEnabled=true. Клиент должен иметь рольtoggleилиadmin. -
Добавьте параметры
gateway.authorization.provider_params.client_id,gateway.authorization.provider_params.client_secret_pathиgateway.authorization.provider_params.realmв конфигурацию Gateway.Пример настройки клиента сервиса.
Читайте также про настройку клиента сервиса для Destination.
Параметры gRPC-сервера, к которому подключается Destination для получения потока транзакций.
Тип: map
Пример:
gateway:grpc_server:host: 192.168.64.9port: 10080# ...
Адрес, на котором запускается gRPC-сервер.
Тип: string
Порт, на котором gRPC-сервер ожидает входящие соединения.
Тип: string
Доступно с версии 0.5.0.
Путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination.
Тип: string
Пример:
gateway:# ...grpc_server:ssl_cert_file: /path/to/server.crtssl_key_file: /path/to/server.keyssl_ca_file: /path/to/ca.crt
См. также: gateway.grpc_server.ssl_key_file и gateway.grpc_server.ssl_ca_file.
Доступно с версии 0.5.0.
Путь к файлу закрытого ключа сервера, который соответствует сертификату из параметра gateway.grpc_server.ssl_cert_file. Используется для установки защищенного TLS-соединения.
Тип: string
Доступно с версии 0.5.0.
Путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установке TLS-соединения.
Тип: string
Параметры HTTP-сервера. См. также HTTP API репликаторов данных.
Тип: map
Пример:
gateway:# ...http_server:host: 192.168.64.9port: 10081
Адрес, на котором запускается HTTP-сервер.
Тип: string
Порт, на котором HTTP-сервер ожидает входящие соединения.
Тип: string
Доступно с версии 0.5.0.
Путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination.
Тип: string
Пример:
gateway:http_server:host: 0.0.0.0port: 10081ssl_cert_file: "/path/to/the/cert/file"ssl_key_file: "/path/to/the/key/file"ssl_ca_file: "/path/to/the/ca/file"
См. также: gateway.grpc_server.ssl_key_file и gateway.grpc_server.ssl_ca_file.
Доступно с версии 0.5.0.
Путь к файлу закрытого ключа сервера, который соответствует сертификату из параметраgateway.grpc_server.ssl_cert_file. Используется для установки защищенного TLS-соединения.
Тип: string
Доступно с версии 0.5.0.
Путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установке TLS-соединения.
Тип: string
Тип реплики, в качестве которой Gateway подключается к кластеру.
Возможные значения: anonymous, regular
Тип: string
Пример:
gateway:# ...replica_type: anonymous
Максимальное число ядер, которые может использовать Gateway. По умолчанию Gateway использует все доступные ядра и создает один поток для каждого набора реплик.
Тип: number
Уровень логирования.
Возможные значения: fatal, syserror, error, crit, warn, info, verbose, debug
Тип: string
Формат логов.
Возможные значения: plain, json
Тип: string
Путь к каталогу с файлами логов.
Тип: string
Параметры экземпляров хранилища кластера, к которым подключается Gateway для получения потока транзакций. См. <instance_params>.
Тип: array
Пример:
gateway:# ...stream_instances:- uri: 192.168.64.9:3302user: replicatorpassword: foobar- uri: 192.168.64.9:3303user: replicatorpassword: foobar# ...
Параметры подключения экземпляра кластера по протоколу iproto.
Тип: map
URI для подключения к экземпляру кластера.
Тип: string
Имя пользователя для подключения к экземпляру кластера.
Тип: string
Пароль пользователя, используемого для подключения.
Тип: string
Настройки TLS, используемые для подключения к экземплярам кластера. gateway_or_destination>.ssl_opts описывает возможные параметры подключения.
Тип: array
Задержка в миллисекундах перед началом повторной попытки подключения к роутерам для получения служебной информации и формирования соединения.
Тип: number
Значение по умолчанию: 100
Максимальная задержка в миллисекундах перед началом повторной попытки подключения к роутерам для получения служебной информации и формирования соединения.
Тип: number
Количество разрешенных попыток повторного подключения к роутерам.
Тип: number
Значение по умолчанию: 10
Включить метрики для Gateway в формате Prometheus. Для получения значений метрик используйте HTTP-endpoint /metrics.
Пример:
gateway:# ...metrics_enabled: true
Доступен начиная с версии 0.11.0.
Параметр включает режим односторонней репликации для Gateway.
Тип: boolean
Значение по умолчанию: false
Доступен начиная с версии 0.11.0.
Параметр задаёт источник данных для формирования начального снимка данных Tarantool при инициализации или перезапуска с повторной инициализацией (rebootstrap) репликатора Gateway и определяет возможность продолжения первичной загрузки при сбоях.
Поведение при значениях true/false:
true– для холодной загрузки данных используется последний файл.snap, что позволяет продолжать чтение снимка данных при неполадках без повторной инициализации;false– для холодной загрузки данных на стороне Tarantool создаётся виртуальный read view. При возникновении неполадок требуется перезапустить процесс холодной загрузки с повторной инициализацией (rebootstrap).
Тип: boolean
Значение по умолчанию: false
Тип: boolean
Пользовательские лейблы метрик Prometheus для Gateway. Для получения значений метрик используйте HTTP-endpoint /metrics.
Пример:
gateway:# ...metrics_enabled: truemetrics_labels:custom_label: constant
Тип: map
Значение по умолчанию: {}
Параметр доступен начиная с версии 0.8.0.
Имя приложения для идентификации конкретного экземпляра Gateway. Используется для отображения метрик конкретного экземпляра в Grafana.
Тип: string
Значение по умолчанию: gateway
Добавлен в версии 0.11.0.
Параметр требуется для работы с отказоустойчивыми группами Gateway.
Если в конфигурации заданы несколько экземпляров, они обеспечивают отказоустойчивость при получении данных с кластера. Если экземпляр Gateway, который используется сейчас для межкластерной репликации, становится недоступен, прием данных автоматически переключается на резервный экземпляр Gateway из заданной группы экземпляров.
Поддерживаемые параметры:
storage– тип хранилища конфигурации, которое используется для хранения состояния кластеров. Тип:string. Возможные параметры:etcd_v2,etcd_v3,config_storage;storage_params– параметры хранилища конфигурации. Возможные параметры:endpoints– массив узлов хранилища конфигурации с возможностью указания нескольких подключений. Тип:array. Возможные параметры:host– адрес узла хранилища состояния кластеров (например, etcd), на который Gateway может выполнять запись. Тип:string;port– порт для подключения к узлу хранилища состояния кластеров. Тип:string;
prefix– префикс (путь внутри хранилища состояния кластеров), который используется для размещения записей Gateway. Значение по умолчанию:/tcf. Тип:string;ttl– время жизни записей (TTL) в хранилище состояния кластеров, задаётся в секундах. Должно быть одинаковым для всех экземпляров Gateway в группе. Значение по умолчанию:30. Тип:number.
Пример:
gateway:storage: etcd_v2storage_params:endpoints:- host: 192.168.64.10port: 3013prefix: /tcf
Параметр доступен начиная с версии 0.11.0.
Интервал отправки heartbeat-пакетов между Gateway и Destination.
Используется для предотвращения разрыва в журналах репликации (XlogGap) и потери данных при масштабировании по Destination, когда отдельные шарды могут долго не получать записи.
Heartbeat обновляет vclock даже при отсутствии изменения пользовательских данных и обеспечивает корректный выбор точки репликации после рестарта узла.
Пример:
gateway:# ...heartbeat_interval: 100ms
Тип: string
Значение по умолчанию: 1m в формате time.ParseDuration (1s, 5m)
Доступен начиная с версии 0.11.0.
Параметр задаёт максимальное количество сообщений репликаторов, которые Gateway может накопить при получении с Tarantool и обработать одновременно, объединяя несколько сообщений в один gRPC-пакет при отправке на Destination.
Пример:
gateway:batch_size: 100# ...
Тип: number
Значение по умолчанию: 0 (выключен)
Доступен начиная с версии 0.11.0.
Интервал ожидания, после которого отправляется gRPC-пакет.
Если батчинг включён, сообщения отправляются при достижении размера gateway.batch_size,
либо по истечении установленного времени ожидания gateway.batch_timeout.
Пример:
gateway:batch_size: 10batch_timeout: 100ms# ...
Тип: string
Значение по умолчанию: 100ms в формате time.ParseDuration (1s, 5m)
(config-tcf-replicator-gateway-destination_connect_timeout)=
Параметр доступен начиная с версии 0.10.0.
Время ожидания подключения всех распределенных экземпляров Destination к Gateway при запуске. Пока не подключены все экземпляры, приём новых данных не начинается.
Пример:
gateway:destination_connect_timeout: 120s
Тип: number
Значение по умолчанию: 1m в формате time.ParseDuration (1s, 5m)
Параметры конфигурации Destination.
Доступно с версии 0.9.0.
Параметры Destination для конфигурации авторизации на HTTP API.
Тип: map
Пример:
destination:authorization:provider: keycloakprovider_params:url: "https://keycloak.example.com/"roles:info: ORDERDB_TCF_INFOtoggle: ORDERDB_TCF_TOGGLEadmin: ORDERDB_TCF_ADMINrealm: masterclient_id: master_clientclient_secret_path: /path/to/secretssl:ca_file: "/etc/ssl/certs/keycloak-ca.pem"cert_file: "/etc/ssl/certs/client.pem"key_file: "/etc/ssl/private/client-key.pem"# ...
Имя провайдера для авторизации запросов. На текущий момент поддерживается только значение keycloak.
Тип: string
Поддерживаемые параметры для работы провайдера Keycloak. Тип: map.
url– URL сервера Keycloak. Тип:string;ssl– параметры TLS для HTTP API Keycloak. Тип:map. Поддерживаемые параметры:ca_file– путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установке TLS-соединения. Тип:string;cert_file– путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination. Тип:string;key_file– путь к файлу закрытого ключа сервера, который соответствует сертификату из параметра destination.gateways.ssl_cert_file. Тип:string;
client_id– имя сервисного клиента. Тип:string. Параметр доступен начиная с версии 0.11.0;client_secret_path– путь к файлу с секретом клиента. Тип:string. Для повышения безопасности необходимо создать текстовый файл с секретом внутри. Параметр доступен начиная с версии 0.11.0;realm– имя областиrealm, в которой создан сервисный клиент. Тип:string. Параметр доступен начиная с версии 0.11.0;-roles– список с соответствием ролей из Keycloak и правил авторизации для компонента Destination. Тип:map. Поддерживаемые параметры:info– чтение статусов кластеров и метрик. Дает доступ к HTTP-адресам обработчиков запросов: /tcf/status, /tcf/is_active, /tcf/clusters (TCF-worker) и /api/v1/status (Destination). Значение по умолчанию:TCF_INFO. Тип:string;toggle– управление репликацией. Дает доступ ко всем адресам обработчиков запросов, кроме /api/v1/rebootstrap (Destination). Значение по умолчанию:TCF_TOGGLE. Тип:string;admin– полный доступ ко всем адресам обработчиков запросов, включая/api/v1/rebootstrap. Значение по умолчанию:TCF_ADMIN. Тип:string.ca_file– путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установке TLS-соединения. Тип:string;cert_file– путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination. Тип:string;key_file– путь к файлу закрытого ключа сервера, который соответствует сертификату из параметра destination.gateways.ssl_cert_file. Тип:string;
roles– список с соответствием ролей из Keycloak и правил авторизации для компонента Destination. Тип:map. Поддерживаемые параметры:info– чтение статусов кластеров и метрик. Дает доступ к HTTP-адресам обработчиков запросов: /tcf/status, /tcf/is_active, /tcf/clusters (TCF-worker) и /api/v1/status (Destination). Значение по умолчанию:TCF_INFO. Тип:string;toggle– управление репликацией. Дает доступ ко всем адресам обработчиков запросов, кроме /api/v1/rebootstrap (Destination). Значение по умолчанию:TCF_TOGGLE. Тип:string;admin– полный доступ ко всем адресам обработчиков запросов, включая/api/v1/rebootstrap. Значение по умолчанию:TCF_ADMIN. Тип:string.
Чтобы настроить клиент сервиса для Destination:
-
Создайте конфиденциального клиента с включенным сервис-аккаунтом
serviceAccountsEnabled=true. Клиент должен иметь рольtoggleилиadmin. -
Добавьте параметры
destination.authorization.provider_params.client_id,destination.authorization.provider_params.client_secret_pathиdestination.authorization.provider_params.realmв конфигурацию Destination.
Пример настройки клиента сервиса.
Читайте также про настройку клиента сервиса для Gateway.
Доступно с версии 0.5.0.
Настройки подключения компонента Destination к компоненту Gateway по gRPC.
Тип: array
Параметр позволяет задать группу из одного или нескольких экземпляров компонента Gateway. Если в конфигурации заданы несколько экземпляров, они обеспечивают отказоустойчивость при получении данных с активного кластера.
Если экземпляр Gateway, который используется сейчас для межкластерной репликации, выходит из строя, передача данных переключается на резервный экземпляр Gateway из заданной группы экземпляров.
Пример:
destination:gateways:- host: 192.168.64.9port: 10080- host: 192.168.64.10port: 11080- host: 192.168.64.11port: 12080# ...
Адрес, на котором запущен gRPC-сервер gateway.
Тип: string
Порт для подключения к gRPC-серверу.
Тип: string
Доступно с версии 0.5.0.
Путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination.
Тип: string
Пример:
destination:gateways:- host: 192.168.64.9port: 10080ssl_cert_file: /path/to/server.crtssl_key_file: /path/to/server.keyssl_ca_file: /path/to/ca.crt- host: 192.168.64.10port: 11080ssl_cert_file: /path/to/server.crtssl_key_file: /path/to/server.keyssl_ca_file: /path/to/ca.crt- host: 192.168.64.11port: 12080ssl_cert_file: /path/to/server.crtssl_key_file: /path/to/server.keyssl_ca_file: /path/to/ca.crt
См. также: destination.gateways.ssl_key_file, destination.gateways.ssl_ca_file, destination.gateways.host и destination.gateways.port.
Доступно с версии 0.5.0.
Путь к файлу закрытого ключа сервера, который соответствует сертификату из параметра destination.gateways.ssl_cert_file. Используется для установки защищенного TLS-соединения.
Тип: string
Доступно с версии 0.5.0.
Путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установлении TLS-соединения.
Тип: string
Доступно с версии 0.9.0.
Ограничение по времени на установление клиентом Destination gRPC-соединения с указанным экземпляром Gateway. Задается в формате <число><единица времени>, где допустимые единицы времени – ms (миллисекунды), s (секунды) и m (минуты).
Тип: string
Значение по умолчанию: "5s"
Пример:
destination:gateways:- host: 127.0.0.1port: 10080dial_timeout: "3s"- host: 127.0.0.1port: 10081dial_timeout: "2s"
Начиная с TCF 0.5.0, параметр destination.gateway считается устаревшим.
Вместо него используйте параметр destination.gateways.
Параметры подключения к Gateway, которые использует Destination для подключения по gRPC.
Тип: map
Пример:
destination:gateway:host: 192.168.64.9port: 10080# ...
Адрес, на котором запущен gRPC-сервер.
Тип: string
Порт для подключения к gRPC-серверу.
Тип: string
Доступно с версии 0.9.0.
Ограничение по времени на установление клиентом Destination gRPC-соединения с указанными экземплярами Gateway. Задается в формате <число><единица времени>, где допустимые единицы времени - ms (миллисекунды), s (секунды) и m (минуты).
Тип: string
Значение по умолчанию: "5s"
Пример:
destination:gateway:host: 127.0.0.1port: 10080dial_timeout: "3s"
Параметры HTTP-сервера. См. также HTTP API репликаторов данных.
Тип: map
Адрес, на котором запускается HTTP-сервер.
Тип: string
Порт, на котором HTTP-сервер ожидает входящие соединения.
Тип: string
Доступно с версии 0.5.0.
Путь к файлу сертификата сервера, который используется для шифрования соединения между компонентами Gateway и Destination.
Пример:
destination:http_server:host: 0.0.0.0port: 10081ssl_cert_file: "/path/to/the/cert/file"ssl_key_file: "/path/to/the/key/file"ssl_ca_file: "/path/to/the/ca/file"
Тип: string
См. также: destination.http_server.ssl_key_file и ссылка.
Доступно с версии 0.5.0.
Путь к файлу закрытого ключа сервера, который соответствует сертификату из параметра destination.http_server.ssl_cert_file.
Используется для установки защищенного TLS-соединения.
Тип: string
destination.http_server.ssl_ca_file {params[anchor=reference_replicators-destination-http_server-ssl_ca_file]
Доступно с версии 0.5.0.
Путь к файлу корневого сертификата, который используется для проверки подлинности клиента при установке TLS-соединения.
Тип: string
Добавлен в версии 0.5.0.
Параметр требуется для работы с отказоустойчивыми группами Destination.
Если в конфигурации заданы несколько экземпляров, они обеспечивают отказоустойчивость при получении данных с компонента Gateway. Если экземпляр Destination, который используется сейчас для межкластерной репликации, становится недоступен, прием данных автоматически переключается на резервный экземпляр Destination из заданной группы экземпляров.
Поддерживаемые параметры:
storage– тип хранилища конфигурации, которое используется для хранения состояния кластеров. Тип:string. Возможные параметры:etcd_v2,etcd_v3,config_storage;storage_params– параметры хранилища конфигурации. Возможные параметры:endpoints– массив узлов хранилища конфигурации с возможностью указания нескольких подключений. Тип:array. Возможные параметры:host– адрес узла хранилища состояния кластеров (например, etcd), на который Destination может выполнять запись. Тип:string;port– порт для подключения к узлу хранилища состояния кластеров. Тип:string;
prefix– префикс (путь внутри хранилища состояния кластеров), который используется для размещения записей Destination. Значение по умолчанию:/tcf. Тип:string;ttl– время жизни записей (TTL) в хранилище состояния кластеров, задаётся в секундах. Должно быть одинаковым для всех экземпляров Destination в группе. Значение по умолчанию:30. Тип:number.
Пример:
destination:storage: etcd_v2storage_params:endpoints:- host: 192.168.64.10port: 3013- host: 192.168.64.11port: 3013prefix: /destination1ttl: 10
Настройки TLS, используемые для подключения к экземплярам кластера. <gateway_or_destination>.ssl_opts описывает возможные параметры подключения.
Тип: array
Размер внутреннего буфера на каждый набор реплик для выполнения служебных операций.
Тип: number
Значение по умолчанию: 1024
Уровень логирования.
Возможные значения: fatal, syserror, error, crit, warn, info, verbose, debug
Тип: string
Формат логов.
Возможные значения: plain, json
Тип: string
Путь к каталогу с файлами логов.
Тип: string
Параметры подключения к роутерам кластера.
Пример:
destination:# ...vshard_routers:hosts:- "192.168.64.12:3301"user: replicatorpassword: foobar
Список URI роутеров кластера. Если роутеров несколько, их URI перечислены через запятую.
Тип: array
Имя пользователя для подключения к экземпляру кластера.
Тип: string
Пароль пользователя, используемого для подключения.
Тип: string
Задержка в миллисекундах перед началом повторной попытки подключения к роутерам для получения служебной информации и формирования соединения.
Тип: number
Значение по умолчанию: 100
Максимальная задержка в миллисекундах перед началом повторной попытки подключения к роутерам для получения служебной информации и формирования соединения.
Тип: number
Количество разрешенных попыток повторного подключения к роутерам.
Тип: number
Значение по умолчанию: 10
Максимальное число ядер, которые может использовать Destination. По умолчанию Destination использует все доступные ядра и создает один поток для каждого набора реплик.
Тип: number
Включить метрики для Destination в формате Prometheus. Для получения значений метрик используйте /metrics.
Пример:
destination:# ...metrics_enabled: true
Тип: boolean
Пользовательские лейблы метрик Prometheus для Destination. Для получения значений метрик используйте HTTP-endpoint /metrics.
Пример:
destination:# ...metrics_enabled: truemetrics_labels:custom_label: constant
Тип: map
Значение по умолчанию: {}
Параметр доступен начиная с версии 0.8.0.
Имя приложения для идентификации конкретного экземпляра Destination. Используется для отображения метрик конкретного экземпляра в Grafana.
Тип: string
Значение по умолчанию: destination
Параметр доступен начиная с версии 0.9.0.
Время, за которое ожидается получение на Destination операции truncate от каждого шарда исходного кластера.
Тип: number (в наносекундах) или string в формате time.ParseDuration (1s, 5m)
Значение по умолчанию: 1m
Параметр доступен начиная с версии 0.9.0.
Размер буфера для репликационных событий, полученных Destination при ожидании получения truncate от каждого шарда исходного кластера.
В буфер попадают события, которые должны быть обработаны строго после truncate.
Тип: number (количество репликационных событий)
Значение по умолчанию: 100000
Доступен начиная с версии 0.11.0.
Параметр задаёт максимальное количество сообщений репликаторов, которые Destination может накопить при получении с Gateway и обработать одновременно, объединяя несколько сообщений в одну транзакцию (на каждый набор реплик) при вставке на Tarantool вместо применения их по отдельности.
Пример:
destination:batch_size: 100# ...
Тип: number
Значение по умолчанию: 0 (выключен)
Доступен начиная с версии 0.11.0.
Интервал ожидания, после которого отправляется транзакция на Tarantool.
Если батчинг включён, сообщения отправляются при достижении размера destination.batch_size,
либо по истечении установленного времени ожидания destination.batch_timeout.
Пример:
destination:batch_size: 100batch_timeout: 100ms# ...
Тип: string
Значение по умолчанию: 100ms в формате time.ParseDuration (1s, 5m)
Параметр доступен начиная с версии 0.10.0.
Список кластеров Gateway, к которым подключается Destination. Используется для маршрутизации событий и распределения данных между Gateway при работе с шардированными экземплярами Destination.
destination:gateway_clusters:cluster_1:shard_1:- host: localhostport: 10080shard_2:- host: localhostport: 20080
Тип: map
Имя кластера Gateway. Совпадает с параметром cluster_1 кластера-источника.
Тип: string
Имя набора шардов внутри кластера Gateway. Задаётся при настройке набора репликаторов TCF и может быть выбрано произвольно. Значение – список экземпляров Gateway, обслуживающих набор шардов, с поддержкой отказоустойчивости.
Тип: string
Параметр доступен начиная с версии 0.10.0.
Список имён шардов хранилищ Tarantool, которые будет обслуживать экземпляр Destination.
Используется для фильтрации нужных наборов реплик для записи при получении информации от vshard_routers.
Это позволяет каждому экземпляру Destination обрабатывать только указанные шарды без изменения общей логики репликации.
Пример:
destination:gateways:vshard_routers:shards: ["storage-002"]
Настройки 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"
Формат, которому должен соответствовать URI экземпляра кластера.
Тип: string
Путь к закрытому ключу.
Тип: string
Путь к сертификату.
Тип: string
Путь к корневому сертификату.
Тип: string
Список наборов шифров TLS, разделенных двоеточиями. Список поддерживаемых наборов шифров вы можете найти в документации Tarantool.
Тип: string