.. _counter_provider_config: Конфигурация модуля Counter-Provider (application.yml) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Файл ``application.yml`` – основной конфигурационный файл модуля, в котором задана его логика и порядок работы сервиса: среда разработки, настройка счетчика, настройка подключения к Zookeeper, а также другие настройки необходимые для корректной работы сервиса. .. _counter_provider_application_yml: Пример файла application.yml ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Приведем типовую структуру файла и возможные настройки **Сервиса генерации уникального номера**. Следует учитывать, что в конфигурационном файле следует задавать только те настройки, которые необходимы для решения текущих бизнес-задач. .. code-block:: yaml environment: name: ${ENVIRONMENT_NAME:test} http-server: port: ${HTTP_PORT:9000} counter: start-number: ${COUNTER_START_NUMBER:1} retry-after-failure: ${COUNTER_RETRY_AFTER_FAILURE:3} update-timeout: ${COUNTER_UPDATE_TIMEOUT:} reset-period: ${COUNTER_RESET_PERIOD:} zookeeper: connection-string: ${ZOOKEEPER_DS_ADDRESS:localhost} connection-timeout-ms: ${ZOOKEEPER_DS_CONNECTION_TIMEOUT_MS:30000} session-timeout-ms: ${ZOOKEEPER_DS_SESSION_TIMEOUT_MS:86400000} chroot: ${ZOOKEEPER_DS_CHROOT:/adapter} migration: enabled: ${MIGRATION_ENABLE:false} old-connection-string: ${OLD_ZOOKEEPER_DS_ADDRESS:localhost} backup: zk-path: ${COUNTER_BACKUP_ZK_PATH:/${environment.name}/counter-provider/counters} commandTopic: ${BACKUP_COMMAND_TOPIC:adapter.command} backupTopic: ${BACKUP_TOPIC:adapter.backup} statusTopic: ${STATUS_TOPIC:adapter.status} kafka: consumer: property: bootstrap.servers: ${KAFKA_BOOTSTRAP_SERVERS:localhost:9092} group.id: ${COUNTER_BACKUP_GROUP_ID:counter_provider_adapter_command} auto.offset.reset: latest producer: property: bootstrap.servers: ${KAFKA_BOOTSTRAP_SERVERS:localhost:9092} metrics: port: ${METRICS_PORT:9837} Параметры конфигурации ^^^^^^^^^^^^^^^^^^^^^^ Настройка конфигурации **Сервиса генерации уникального номера** осуществляется путем редактирования параметров настроек в файле ``application.yml``. Пример конфигурации файла ``application.yml`` для **Сервиса генерации уникального номера** см. в разделе :ref:`counter_provider_application_yml` Руководства администратора. В файле конфигурации **Сервиса генерации уникального номера** могут быть настроены следующие секции: - ``environment`` - указывается среда разработки; - ``http-server`` - указывается порт веб-сервера; - ``counter`` - предназначена для настроек счетчика; - ``zookeeper`` - определяет настройки подключения к Zookeeper; - ``migration`` - настройки миграции; - ``backup`` - настройки бекапирования; - ``metrics`` - настройка порта для получения метрик. Секция environment ################## В секции ``environment`` указывается среда разработки (dev, test, stable, prod) Например: .. code-block:: yaml environment: name: ${ENVIRONMENT_NAME:test} **Параметры настроек** - ``name`` - Название окружения, например ``ENVIRONMENT_NAME:test``. Секция http-server ################### В секции ``http`` указывается порт веб-сервера. Например: .. code-block:: yaml http-server: port: ${HTTP_PORT:9000} **Параметры настроек** - ``port`` - порт веб-сервера, например: ``HTTP_PORT:9000``. Секция counter ############## В секции ``counter`` можно настраивать начальный номер счетчика, а также количество попыток записи счетчика после ошибки обновления. Например: .. code-block:: yaml counter: start-number: ${COUNTER_START_NUMBER:1} retry-after-failure: ${COUNTER_RETRY_AFTER_FAILURE:3} update-timeout: ${COUNTER_UPDATE_TIMEOUT:} reset-period: ${COUNTER_RESET_PERIOD:} **Параметры настроек** - ``start-number`` - начальный номер счетчика, например ``COUNTER_START_NUMBER:1``; - ``retry-after-failure``- количество попыток записи счетчика после ошибки обновления, например ``COUNTER_RETRY_AFTER_FAILURE:3``; - ``update-timeout`` - таймаут обновления счетчика, например ``COUNTER_UPDATE_TIMEOUT:``; - ``reset-period`` - период сброса счетчика, например ``COUNTER_RESET_PERIOD:``. Секция zookeeper ################ В секции ``zookeeper`` настраиваются параметры подключения к Zookeeper. Например: .. code-block:: yaml zookeeper: connection-string: ${ZOOKEEPER_DS_ADDRESS:t5-adsp-01.ru-central1.internal} connection-timeout-ms: ${ZOOKEEPER_DS_CONNECTION_TIMEOUT_MS:30000} session-timeout-ms: ${ZOOKEEPER_DS_SESSION_TIMEOUT_MS:86400000} chroot: ${ZOOKEEPER_DS_CHROOT:/adapter} **Параметры настроек** - ``connection-string`` - Подключение к Zookeeper DS, например ``ZOOKEEPER_DS_ADDRESS:t5-adsp-01.ru-central1.internal``; - ``connection-timeout-ms`` - Zookeeper DS таймаут подключения, например ``ZOOKEEPER_DS_CONNECTION_TIMEOUT_MS:30000``; - ``session-timeout-ms`` - Zookeeper DS таймаут сессии, например ``ZOOKEEPER_DS_SESSION_TIMEOUT_MS:86400000``; - ``chroot`` - Zookeeper DS chroot path, например ``ZOOKEEPER_DS_CHROOT:/adapter``. Секция migration ################ Секция ``migration`` реализована настройка миграции зукипера для задачи бекапирования. Например: .. code-block:: yaml migration: enabled: ${MIGRATION_ENABLE:false} old-connection-string: ${OLD_ZOOKEEPER_DS_ADDRESS:localhost} **Параметры настроек** - ``enabled`` - подключение миграции, например ``{MIGRATION_ENABLE:false}``; - ``old-connection-string`` - адрес ZOOKEEPER, например ``{OLD_ZOOKEEPER_DS_ADDRESS:localhost}``. Секция backup ############## Секция ``backup`` предназначена для настроек бекапирования модуля. Например: .. code-block:: yaml backup: zk-path: ${COUNTER_BACKUP_ZK_PATH:/${environment.name}/counter-provider/counters} commandTopic: ${BACKUP_COMMAND_TOPIC:adapter.command} backupTopic: ${BACKUP_TOPIC:adapter.backup} statusTopic: ${STATUS_TOPIC:adapter.status} kafka: consumer: property: bootstrap.servers: ${KAFKA_BOOTSTRAP_SERVERS:localhost:9092} group.id: ${COUNTER_BACKUP_GROUP_ID:counter_provider_adapter_command} auto.offset.reset: latest producer: property: bootstrap.servers: ${KAFKA_BOOTSTRAP_SERVERS:localhost:9092} **Параметры настроек** - ``zk-path`` - путь к корневой ноде zookeeper для бэкапирования, например ``{COUNTER_BACKUP_ZK_PATH:/${environment.name}/counter-provider/counters}``; - ``commandTopic`` - топик команд бэкапирования, например: ``{BACKUP_COMMAND_TOPIC:adapter.command}``; - ``backupTopic`` - топик для отправки забэкапированных данных, например: ``{BACKUP_TOPIC:adapter.backup}``; - ``statusTopic`` - топик для отправки статусов бэкапирования, например: ``{STATUS_TOPIC:adapter.status}``. Секция metrics ################ Секция ``metrics`` предназначена для настроек порта получения метрик. Например: .. code-block:: yaml metrics: port: ${METRICS_PORT:9837} **Параметры настроек** - ``port`` - Порт для получения метрик, например ``{METRICS_PORT:9837}``.