2. Конфигурация Модуля группировки чанков репликации (application.yml)

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

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

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

http-server:
  port: ${HTTP_PORT:8084}

kafka:
  agent.topic.prefix: ${AGENT_TOPIC_PREFIX:}
  # максимальное количество обработчиков входящих запросов
  max-concurrent-handle: ${KAFKA_MAX_CONCURRENT_HANDLE:100}
  # периодичность фиксации оффсета обработанных сообщений
  commit-interval: ${KAFKA_COMMIT_INTERVAL:5s}
  external:
    bootstrap.servers: ${KAFKA_BOOTSTRAP_SERVERS:localhost:9092}
    topic.prefix: ${EXTERNAL_TOPIC_PREFIX:${kafka.agent.topic.prefix}}
  internal:
    bootstrap.servers: ${PS_KAFKA:localhost:9092}
    topic.prefix: ${INTERNAL_TOPIC_PREFIX:${kafka.agent.topic.prefix}}
  consumer:
    delta-apply-request: ${kafka.external.topic.prefix}delta.in.rq
    property:
      bootstrap.servers: ${kafka.external.bootstrap.servers}
      group.id: ${kafka.external.topic.prefix}podd-adapter-group-repl
      auto.offset.reset: earliest
      enable.auto.commit: false
  producer:
    refresh-interval: 60s
    delta-apply-notification: ${kafka.internal.topic.prefix}subscription.in
    property:
      bootstrap.servers: ${kafka.internal.bootstrap.servers}

logging:
  scl.delta:
      enabled: ${SCL_DELTA_ENABLED:false}

metrics:
  port: ${METRICS_PORT:9837}

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

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

  • http-server - указывается порт веб-сервера;

  • kafka - настройки параметров подключения к шине данных Apache Kafka;

  • logging - настройки журналирования запросов и ответов;

  • metrics - настройка порта для получения метрик.

3.1. Секция http-server

В секции http-server указывается порт веб-сервера.

Например:

http-server:
  port: ${HTTP_PORT:8084}

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

  • port - порт веб-сервера, например: HTTP_PORT:8084.

3.2. Секция kafka

Секция kafka определяет настройки взаимодействия через ПОДД-адаптер между Поставщиком данных (producer) и Получателем данных (consumer).

Здесь же задаются настройки параметров подключения к шине данных Apache Kafka.

Например:

kafka:
  agent.topic.prefix: ${AGENT_TOPIC_PREFIX:}
  max-concurrent-handle: ${KAFKA_MAX_CONCURRENT_HANDLE:100}
  commit-interval: ${KAFKA_COMMIT_INTERVAL:5s}
  external:
      bootstrap.servers: ${KAFKA_BOOTSTRAP_SERVERS:localhost:9092}
      topic.prefix: ${EXTERNAL_TOPIC_PREFIX:${kafka.agent.topic.prefix}}
  internal:
      bootstrap.servers: ${PS_KAFKA:localhost:9092}
      topic.prefix: ${INTERNAL_TOPIC_PREFIX:${kafka.agent.topic.prefix}}
  consumer:
    delta-apply-request: ${kafka.external.topic.prefix}delta.in.rq
    property:
      bootstrap.servers: ${kafka.external.bootstrap.servers}
      group.id: ${kafka.external.topic.prefix}podd-adapter-group-repl
      auto.offset.reset: earliest
      enable.auto.commit: false
  producer:
    refresh-interval: 60s
    delta-apply-notification: ${kafka.internal.topic.prefix}subscription.in
    property:
      bootstrap.servers: ${kafka.internal.bootstrap.servers}

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

  • topic - префикс для топиков агента ПОДД, например AGENT_TOPIC_PREFIX;

  • max-concurrent-handle - максимальное количество обработчиков входящих запросов, например KAFKA_MAX_CONCURRENT_HANDLE:100;

  • commit-interval - периодичность фиксации оффсета обработанных сообщений, например KAFKA_COMMIT_INTERVAL:5s.

3.3. Секция logging

Секция logging предназначена для настройки журналирования запросов и ответов.

Например:

logging:
scl.delta:
    enabled: ${SCL_DELTA_ENABLED:false}

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

  • enabled - Журналировать события SCL delta, например: SCL_DELTA_ENABLED:false.

LOG_FORMAT - Логирование в формате (JSON/TEXT) - указывается в logback.xml.

3.4. Секция metrics

Секция metrics предназначена для настроек порта получения метрик.

Например:

metrics:
  port: ${METRICS_PORT:9837}

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

  • port - Порт для получения метрик, например {METRICS_PORT:9837}.