Я занимаюсь разработкой веб-приложения, которое будет содержать довольно много хостов. Я видел, как внешние хранилища конфигурации использовались в Java, например, с Spring Cloud Config Server.
Есть ли в .NET нестандартные альтернативы? В настоящее время я смотрю на шаблон хранилища внешних настроек MSDN, внедряю его на заказ и повторно использую часть кода с этой страницы.
По сути, каждый узел будет иметь исходный файл конфигурации (JSON), содержащий, например, имя узла и URL-адрес БД, где он найдет другие параметры конфигурации. Тогда у меня будет отдельный сервис, который может быть запрошен другими сервисами для возврата данных конфигурации. Он также кэширует данные конфигурации локально.
Есть некоторые проблемы с этим:
- насколько хорошо он работает, т.е. сервис конфигурации может нуждаться в масштабировании на нескольких экземплярах,
- данные конфигурации должны быть кэшированы, и даже может потребоваться распределенный кеш для всех служб конфигурации, чтобы иметь единое представление кэшированных данных конфигурации,
- это индивидуальная реализация, которая требует обслуживания,
- как изменяются данные конфигурации, например, через пользовательский интерфейс администратора с операциями CRUD?