Перейти к основному содержимому

Создание соединения

Предусловия​

Данный сценарий доступен пользователю с ролью, обладающей привилегией на редактирование.

Последовательность выполнения​

Создание соединения типа БД​

  1. Нажмите Создать соединение над списком всех соединений.

    Соединения, Редактирование свойств соединения

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

    Соединения, Редактирование свойств соединения

    • тип — база данных;
    • наименование соединения — название соединения;
    примечание

    Имя каждого соединения должно быть уникальным.

    • описание — описание соединения;
    • теги;
    • драйвер — поле недоступно для редактирования;
    • режим автосоздания публикации (только для соединения с БД):
      • 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. В таком режиме созданные после старта репликации партиции автоматически реплицироваться не будут.
    • поле Опции — редактор JSON.
  3. Пропишите в поле Опции:

    1. Для соединения источника:

      • 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Схема для технической таблицы Switchovergrdl
      switchover_tableНетstringНазвание технической таблицы Switchover$GRADELY_SWITCHOVER$
      secret_pathНетstringПуть до секрета в HashiCorp Vault (PG, KV2)
      Внимание!

      Параметр secret_path обязательно заполняется, если при конфигурации приложения выбран тип хранилища секрета PG. Если выбран тип хранилища секрета KV2, то параметр заполняется опционально.

    2. Для соединения приемника:

      • URL — адрес БД;
      • backup URL — адрес резервной БД;
      • путь до драйвера.

      Например:

      {
      "url": "jdbc:postgresql://***/postgres",
      "backup_url": "jdbc:postgresql://***/postgres",
      "driver": "org.postgresql.Driver"
      }

    Параметры соединения с БД Приемника:

    ПараметрОбязательностьТипОписаниеПо умолчанию
    urlДаstringАдрес БД, для кластера указываются адреса через запятую
    При развертывании в контуре с использованием внешнего компонента SSM указывайте порты 7660 или 7661
    backup_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схема для технической таблицы Switchovergrdl
    switchover_tableНетstringназвание технической таблицы Switchover$GRADELY_SWITCHOVER$
    secret_pathНетstringПуть до секрета в HashiCorp Vault (PG, KV2)
    Внимание!

    Параметр secret_path обязательно заполняется, если при конфигурации приложения выбран тип хранилища секрета PG. Если выбран тип хранилища секрета KV2, то параметр заполняется опционально.

  4. Нажмите Сохранить.

Создание соединения типа Kafka​

  1. Нажмите Создать соединение над списком всех соединений.

    Соединения, Редактирование свойств соединения

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

    Соединения, Редактирование свойств соединения

    • тип — Kafka;
    • наименование соединения — название соединения;
    примечание

    Имя каждого соединения должно быть уникальным.

    • описание — описание соединения;
    • теги;
    • драйвер:
      • PG2PG — стандартный вариант соединения;
    • поле Опции — редактор JSON.
  3. Пропишите в поле Опции:

    1. Для 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 Producer16384
      max.poll.recordsНетintРазмер пакета записей в Kafka consumer500
      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 или 7661
    backup_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схема для технической таблицы Switchovergrdl
    switchover_tableНетstringназвание технической таблицы Switchover$GRADELY_SWITCHOVER$
    secret_pathНетstringПуть до секрета в HashiCorp Vault (PG, KV2)
    Внимание!

    Параметр secret_path обязательно заполняется, если при конфигурации приложения выбран тип хранилища секрета PG. Если выбран тип хранилища секрета KV2, то параметр заполняется опционально.

    Соединения, Редактирование свойств соединения

  4. Нажмите Сохранить.

Результат​

Соединение создано.