Я планирую использовать Spring Boot для моего назначения. Это типичное серверное приложение с подключением к базе данных. Я знаю, что могу использовать Spring Конфигурация для экстернализации моих свойств, например. db подробности подключения. Но у меня также есть другие динамические свойства, которые необходимо обновить во время выполнения. например флипсы/флаги функций. Некоторые функции моего приложения должны управляться динамически, например. представьте себе свойство, подобное app.cool-feature.enable = true, а затем через некоторое время одна и та же функция будет отключена с помощью app.cool-feature.enable = false
Любые предложения, что является наилучшей практикой во время проглатывания такого динамического поведения во время выполнения? Я могу думать о следующих вариантах, чтобы вызвать изменение...
- Отправьте сообщение JMS экземпляру сервера с изменением свойства выше.
- Вызов открытой конечной точки API на экземпляре сервера, например. POST http://myapp/admin/config/update { "config": { "app.cool-feature.enable": true } }
Я знаю, что могу написать собственный собственный код, реализующий это (это будет в третий раз), но просто интересно, существует ли уже стандартный способ/общая практика вокруг динамических конфигураций свойств, о которых я не знаю. Также было бы здорово, если бы он мог работать с другими решениями, такими как Apache ZooKeeper, coreos etcd, куратором Netflix и т.д. И иметь тесную интеграцию с Spring.
Мысли?