Перейти к содержанию

Проектирование конфигурируемых сервисов

Нет никакого смысла сохранять значения конфигурационных свойств прямо в коде сервиса, так как в этом случае его пришлось бы повторно собирать для каждой отдельной среды. Кроме того, конфиденциальная информация, такая как учетные данные, должна безопасно храниться в хранилище секретных ключей, таком как Hashicorp Vault или AWS Parameter Store. Поэтому конфигурация должна выноситься вовне.

Вынесение конфигурации вовне с помощью пассивной модели

Пассивная модель полагается на совместную работу среды развертывания и сервиса. Среда развертывания предоставляет конфигурационные свойства при создании экземпляра сервиса в виде переменных окружения или конфигурационного файла. Экземпляр сервиса читает свойства во время запуска.
Пассивная модель — эффективный и широко распространенный механизм конфигурации сервисов. Одно из ограничений состоит в том, что изменение конфигурации может быть непростой или даже невыполнимой задачей. (Например, нельзя изменить переменные окружения развернутого сервиса)

Вынесение конфигурации вовне с помощью активной модели

Pasted image 20211029211631.png
В активной модели экземпляр сервиса считывает конфигурационные свойства с конфигурационного сервера. Конфигурационные свойства для доступа к серверу конфигураций предоставляются через пассивный механизм.
Возможные способы организации сервера конфигурации:

  • система управления версиями, такая как Git
  • База данных (SQL или NoSQL)
  • Специализированные серверы конфигурации, такие как Hashicorp Vault или AWS Parameter Store

Использование сервера конфигурации дает несколько преимуществ

  • Централизованная конфигурация. Кроме того, отдельные реализации позволяют переопределять только часть свойств, чтобы избежать дублирования
  • Прозрачная расшифровка конфиденциальных данных.
  • Динамическое изменение конфигурации

Основной недостаток в том, что сервер конфигурации нужно отдельно настраивать и обслуживать.


Последнее обновление : 3 июня 2023 г.
Дата создания : 2 августа 2022 г.

Комментарии

Комментарии