2. Конфигурация утилиты Backup manager (application.yml)

Файл application.yml – основной конфигурационный файл утилиты, в котором задана её логика и порядок работы:

В конфигурации утилиты сохранены:

  • путь к DTM-tools и параметры необходимые для работы утилиты DTM-tools:

    • маска топиков для бекапирования данных СУБД backend.backup.(datamart);

    • адрес Prostore (с переопределением через команду запуска);

  • адрес Kafka и имена топиков для:

    • передачи команд модулям адаптера;

    • получения статусов модулей адаптера;

    • бекапирования данных бекенда Витрины;

    • бекапирования данных модулей адаптеров;

  • путь к рабочей директории резервного копирования (доступный файловому коннектору) с переопределением через команду запуска;

  • хранимый объем топика (значение по умолчанию 1Тб);

  • время хранения топиков бекапа (значение по умолчанию 3 суток).

3. Пример файла application.yml

В конфигурационном файле следует задавать только те настройки, которые необходимы для решения текущих бизнес-задач.

logging:
  level:
    org.springframework: OFF
    org.apache: OFF
    ru.itone.dtm.BackupApplicationKt: OFF

spring:
  main:
    banner-mode: OFF

config:
  dtmToolsPath: ${BM_DTM_TOOLS_PATH:./}
  prostorePath: ${BM_PROSTORE_PATH:localhost:9094}
  kafkaBrokers: ${BM_KAFKA_BROKERS:localhost1:9092, localhost2:9092}
  backupDir: ${BM_BACKUP_DIR:./backup}
  backupArchive: ${BM_BACKUP_ARCHIVE:./backup.zip}
  adapterBackupTimeout: ${BM_ADAPTER_BACKUP_TIMEOUT:1}s
  topic:
    adapterCommand: ${BM_ADAPTER_COMMAND_TOPIC:adapter.command}
    adapterCommandBroadcast: ${BM_ADAPTER_COMMAND_BROADCAST_TOPIC:adapter.command.broadcast}
    adapterStatus: ${BM_ADAPTER_STATUS_TOPIC:adapter.status}
    adapterBackup: ${BM_ADAPTER_BACKUP_TOPIC:adapter.backup}
    backendBackupPrefix: ${BM_BACKEND_BACKUP_TOPIC_PREF:backend.backup.}
    backendBackupRetentionBytes: ${BM_BACKEND_BACKUP_TOPIC_RETENTION_BYTES:1000000000000}
    backendBackupRetentionMs: ${BM_BACKEND_BACKUP_TOPIC_RETENTION_MS:259200000}
    initializationStatusTimeout: ${BM_MODULES_WAIT_INIT_TIMEOUT:15}s
    executionStatusTimeout: ${BM_MODULES_WAIT_EXECUTE_TIMEOUT:120}s

backup:
  mode: [rest, kafka] # kafka, rest
  rest-services:
    counter-provider: localhost:9000/backup
    rest-uploader: localhost:8081/backup

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

Настройка конфигурации Backup manager осуществляется путем редактирования параметров настроек в файле application.yml, где настраиваются секции:

  • logging - настраивается логирование работы модуля;

  • spring - настройки фреймворка Spring;

  • config - указываются настройки утилиты;

  • backup - бекапирования данных СУБД.

4.1. Секция logging

В секции logging настраивается логирование работы модуля

Например:

logging:
  level:
      org.springframework: OFF
      org.apache: OFF
      ru.itone.dtm.BackupApplicationKt: OFF

Параметры настроек

  • org.springframework - логирование фреймворка Spring, например OFF;

  • org.apache - логирование Apache, например OFF;

  • ru.itone.dtm.BackupApplicationKt - логирование утилиты, например OFF.

4.2. Секция spring

В секции spring указываются настройки фреймворка Spring.

Например:

spring:
  main:
      banner-mode: OFF

Параметры настроек

  • banner-mode - режим баннера, например: OFF.

4.3. Секция config

В секции config указываются настройки утилиты.

Например:

config:
  dtmToolsPath: ${BM_DTM_TOOLS_PATH:./}
  prostorePath: ${BM_PROSTORE_PATH:localhost:9094}
  kafkaBrokers: ${BM_KAFKA_BROKERS:localhost1:9092, localhost2:9092}
  backupDir: ${BM_BACKUP_DIR:./backup}
  backupArchive: ${BM_BACKUP_ARCHIVE:./backup.zip}
  adapterBackupTimeout: ${BM_ADAPTER_BACKUP_TIMEOUT:1}
  topic:
      adapterCommand: ${BM_ADAPTER_COMMAND_TOPIC:adapter.command}
      adapterCommandBroadcast: ${BM_ADAPTER_COMMAND_BROADCAST_TOPIC:adapter.command.broadcast}
      adapterStatus: ${BM_ADAPTER_STATUS_TOPIC:adapter.status}
      adapterBackup: ${BM_ADAPTER_BACKUP_TOPIC:adapter.backup}
      backendBackupPrefix: ${BM_BACKEND_BACKUP_TOPIC_PREF:backend.backup.}
      backendBackupRetentionBytes: ${BM_BACKEND_BACKUP_TOPIC_RETENTION_BYTES:1000000000000}
      backendBackupRetentionMs: ${BM_BACKEND_BACKUP_TOPIC_RETENTION_MS:259200000}
      initializationStatusTimeout: ${BM_MODULES_WAIT_INIT_TIMEOUT:15}
      executionStatusTimeout: ${BM_MODULES_WAIT_EXECUTE_TIMEOUT:120}

Параметры настроек

  • dtmToolsPath - адрес dtmTools, например: BM_DTM_TOOLS_PATH:./;

  • prostorePath - адрес Prostore, например: BM_PROSTORE_PATH:localhost:9094;

  • kafkaBrokers - адрес брокеров Kafka, например: BM_KAFKA_BROKERS:localhost1:9092, localhost2:9092;

  • backupDir - директория хранения файла бэкапа, например: BM_BACKUP_DIR:./backup;

  • backupArchive - архив бэкапа, например: BM_BACKUP_ARCHIVE:./backup.zip;

  • adapterBackupTimeout - тайм-аут резервного копирования, например: BM_ADAPTER_BACKUP_TIMEOUT:1;

  • topic - имена топиков, например:

    • adapterCommandBroadcast - передачи команд модулям адаптера, например: BM_ADAPTER_COMMAND_BROADCAST_TOPIC:adapter.command.broadcast;

    • adapterStatus - получения статусов модулей адаптера, например: BM_ADAPTER_STATUS_TOPIC:adapter.status;

    • aadapterBackup - бекапирования данных модулей адаптеров, например: BM_ADAPTER_BACKUP_TOPIC:adapter.backup.

4.4. Секция backup

В секции backup указываются настройки бэкапа Kafka или REST-сервисов.

Например:

backup:
  mode: [rest, kafka] # kafka, rest
  rest-services:
    counter-provider: localhost:9000/backup
    rest-uploader: localhost:8081/backup

Параметры настроек

  • mode - режим бэкапирования;

  • counter-provider местонахождения файла бэкапа для сервиса Counter-provider;

  • rest-uploader - местонахождения файла бэкапа для сервиса Rest-uploader.