Создание соединения
Предусловия
Данный сценарий доступен пользователю с ролью, обладающей привилегией на редактирование.
Последовательность выполнения
Создание соединения типа БД
-
Нажмите Создать соединение над списком всех соединений.

-
Заполните поля в открывшемся окне Создание соединения.

- тип — база данных;
- наименование соединения — название соединения;
примечаниеИмя каждого соединения должно быть уникальным.
- описание — описание соединения;
- теги;
- драйвер — поле недоступно для редактирования;
- режим автосоздания публикации (только для соединения с БД):
- None — публикации не создаются автоматически
- Strict — режим автосоздания публикаций strict
- Semi-strict — режим автосоздания публикаций semi-strict
- Smart — режим автосоздания публикаций smart
- Smart-safe — режим автосоздания публикаций smart-safe
- использовать только в роли источника данных;
- публиковать партиции от имени родительской таблицы:
- True — все изменения из партиций публикуются как изменения родительской таблицы. Публикации создаются с
publish_via_partition_root=true; - False — каждая партиция публикуется сама по себе. Публикации создаются с
publish_via_partition_root=false. В таком режиме созданные после старта репликации партиции автоматически реплицироваться не будут.
- True — все изменения из партиций публикуются как изменения родительской таблицы. Публикации создаются с
- поле Опции — редактор JSON.
-
Пропишите в поле Опции:
-
Для соединения источника:
- URL — адрес БД;
- backup URL — адрес резервной БД;
- слот;
- имя публикации;
- путь до драйвера.
Например:
{"url": "jdbc:postgresql://***/postgres","backup_url": "jdbc:postgresql://***/postgres","slot": "slot","publication_names": "publication","driver": "org.postgresql.Driver"}Параметры соединения с БД Источника:
Параметр Обязательность Тип Описание По умолчанию url Да string Адрес БД, для кластера указываются адреса через запятую backup_url Нет string Адрес резервной БД, для кластера указываются адреса через запятую "" slot Да string Имя слота publication_names Да string Имя публикации driver Да string Путь до драйвера login Нет string Логин БД "" password Нет string Пароль БД "" disallowed_origins Нет string Черный список для Active-Active [] allowed_origins Нет string Белый список для Active-Active [] switchover_schema Нет string Схема для технической таблицы Switchover grdl switchover_table Нет string Название технической таблицы Switchover $GRADELY_SWITCHOVER$secret_path Нет string Путь до секрета в HashiCorp Vault (PG, KV2) Внимание!Параметр
secret_pathобязательно заполняется, если при конфигурации приложения выбран тип хранилища секрета PG. Если выбран тип хранилища секрета KV2, то параметр заполняется опционально. -
Для соединения приемника:
- URL — адрес БД;
- backup URL — адрес резервной БД;
- путь до драйвера.
Например:
{"url": "jdbc:postgresql://***/postgres","backup_url": "jdbc:postgresql://***/postgres","driver": "org.postgresql.Driver"}
Параметры соединения с БД Приемника:
Параметр Обязательность Тип Описание По умолчанию url Да string Адрес БД, для кластера указываются адреса через запятую
При развертывании в контуре с использованием внешнего компонента SSM указывайте порты 7660 или 7661backup_url Нет string Адрес резервной БД, для кластера указываются адреса через запятую "" driver Да string Путь до драйвера login Нет string Логин БД "" password Нет string Пароль БД "" save.skipped.tx.to.db Нет boolean Признак сохранения ошибочных транзакций в теневую таблицу true save.skipped.tx.to.kafka Нет boolean Признак сохранения ошибочных транзакций в топик false apply_position_schema Нет string Схема для технических таблиц "" origin_name Нет string Префикс источника изменений для Active-Active "" apply.thread.count Нет int Число потоков для многопоточной репликации 1 max.pool.size Нет int Количество соединений к БД приемнику в пуле. Параметр многопоточной репликации 3 transaction.size Нет int Количество векторов изменений в транзакции. Параметр многопоточной репликации 500 db.linger.ms Нет int Количество миллисекунд на формирование пачки векторов изменений в транзакции. Параметр многопоточной репликации 1000 idle.in.transaction.session.timeout Нет int Время простоя транзакции до автоматического завершения сеанса (в миллисекундах). Необходимо чтобы освободить все блокировки сеанса и вновь задействовать слот подключения, очистить кортежи, видимые только для этой транзакции. 30000 switchover_schema Нет string схема для технической таблицы Switchover grdl switchover_table Нет string название технической таблицы Switchover $GRADELY_SWITCHOVER$secret_path Нет string Путь до секрета в HashiCorp Vault (PG, KV2) Внимание!Параметр
secret_pathобязательно заполняется, если при конфигурации приложения выбран тип хранилища секрета PG. Если выбран тип хранилища секрета KV2, то параметр заполняется опционально. -
-
Нажмите Сохранить.
Создание соединения типа Kafka
-
Нажмите Создать соединение над списком всех соединений.

-
Заполните поля в открывшемся окне Создание соединения.

- тип — Kafka;
- наименование соединения — название соединения;
примечаниеИмя каждого соединения должно быть уникальным.
- описание — описание соединения;
- теги;
- драйвер:
- PG2PG — стандартный вариант соединения;
- поле Опции — редактор JSON.
-
Пропишите в поле Опции:
-
Для PG2PG:
- адреса брокеров Kafka;
- протокол безопасной связи;
- имя топика Kafka;
- путь к хранилищу с сертификатом;
- путь к хранилищу с приватным ключом;
- пароль к хранилищу ключей.
Например:
{"bootstrap.servers": "***","security.protocol": "SSL","topic.name": "***","ssl.endpoint.identification.algorithm": "","ssl.truststore.location": "/etc/kafka-jks/kafka.jks","ssl.keystore.location": "/etc/kafka-jks/kafka.jks","ssl.keystore.password": "***"}Параметры соединения с Kafka:
Параметр Обязательность Тип Описание По умолчанию bootstrap.servers Да string Адреса брокеров Kafka security.protocol Нет string Протокол безопасной связи "SSL" topic.name Да string Имя топика ssl.endpoint.identification.algorithm Нет string Алгоритм идентификации "" ssl.truststore.location Нет string Путь к хранилищу с сертификатом "/etc/kafka-jks/kafka.jks" ssl.keystore.location Нет string Путь к хранилищу с приватным ключом "/etc/kafka-jks/kafka.jks" ssl.keystore.password Нет string Пароль к хранилищу ключей "" batch.size Нет int Размер пакета записей в Kafka Producer 16384 max.poll.records Нет int Размер пакета записей в Kafka consumer 500 gdl-lib.state.topic Нет string Имя топика состояния gdl-lib.heartbeat.topic Нет string Имя топика heartbeat gdl-lib.heartbeat.rate Нет int Частота отправки heartbeat клиентскими модулями, в секундах delivery.timeout.ms Нет int Максимальное время доставки сообщения от Kafka Producer в мс 120000 request.timeout.ms Нет int Время ожидания ответа от брокера сообщений в мс 120000 linger.ms Нет int Время искусственной задержки перед отправкой сообщений в топики Kafka, чтобы объединить записи в пакет, в мс 0 Параметры
delivery.timeout.msиrequest.timeout.msв Platform V GraDeLy 3.0.0 не будут применяться целевым образом, их функциональность реализована в обработчике ошибок CONNECTION_ERROR. При этом с помощью этих параметров можно регулировать скорость выключения воркера во время попыток переподключения через обработчик ошибок, а именно: воркер во время переподключения не может выключиться быстрее чемdelivery.timeout.ms. Это необходимо, чтобы воркер успел корректно завершить обработку данных, поэтому уменьшать этот параметр не рекомендуется.подсказкаПри установке значения
delivery.timeout.msдолжно соблюдаться правило:delivery.timeout.msдолжно быть не меньше суммы значенийrequest.timeout.msиlinger.ms.
Параметры соединения с БД Приемника:
Параметр Обязательность Тип Описание По умолчанию url Да string Адрес БД, для кластера указываются адреса через запятую
При развертывании в контуре с использованием внешнего компонента SSM указывайте порты 7660 или 7661backup_url Нет string Адрес резервной БД, для кластера указываются адреса через запятую "" driver Да string Путь до драйвера login Нет string Логин БД "" password Нет string Пароль БД "" save.skipped.tx.to.db Нет boolean Признак сохранения ошибочных транзакций в теневую таблицу true save.skipped.tx.to.kafka Нет boolean Признак сохранения ошибочных транзакций в топик false apply_position_schema Нет string Схема для технических таблиц "" origin_name Нет string Префикс источника изменений для Active-Active "" apply.thread.count Нет int Число потоков для многопоточной репликации 1 max.pool.size Нет int Количество соединений к БД приемнику в пуле. Параметр многопоточной репликации 3 transaction.size Нет int Количество векторов изменений в транзакции. Параметр многопоточной репликации 500 db.linger.ms Нет int Количество миллисекунд на формирование пачки векторов изменений в транзакции. Параметр многопоточной репликации 1000 idle.in.transaction.session.timeout Нет int Время простоя транзакции до автоматического завершения сеанса (в миллисекундах). Необходимо чтобы освободить все блокировки сеанса и вновь задействовать слот подключения, очистить кортежи, видимые только для этой транзакции. 30000 switchover_schema Нет string схема для технической таблицы Switchover grdl switchover_table Нет string название технической таблицы Switchover $GRADELY_SWITCHOVER$secret_path Нет string Путь до секрета в HashiCorp Vault (PG, KV2) Внимание!Параметр
secret_pathобязательно заполняется, если при конфигурации приложения выбран тип хранилища секрета PG. Если выбран тип хранилища секрета KV2, то параметр заполняется опционально.
-
-
Нажмите Сохранить.
Результат
Соединение создано.