У меня есть некоторые свойства в моем микросервисе. Они сильно меняются, поэтому я хочу хранить их где-нибудь вне микросервиса, чтобы мне не приходилось снова и снова отменять развертывание. Одним из решений является хранение их в базе данных, но это будет менее эффективно. Можете ли вы посоветовать мне решение, где я могу их хранить?
В основном этот микросервис используется огромным количеством людей. Я хочу, чтобы этот файл читался ОДИН РАЗ при развертывании микросервиса (если или до тех пор, пока в файле не будет каких-либо изменений), чтобы свести к минимуму количество вызовов.
Как насчет распределенного кеша, такого как Redis?
В основном этот микросервис используется огромным количеством людей. Я хочу, чтобы этот файл читался ОДИН РАЗ при развертывании микросервиса (если или до тех пор, пока в файле не будет каких-либо изменений), чтобы свести к минимуму количество вызовов.
Вы можете использовать Spring Cloud Vault
Вам следует использовать централизованную конфигурацию, Spring Cloud поддерживает сервер конфигурации. Это настоятельно рекомендуется для микросервисной архитектуры. Для справки: https://spring.io/guides/gs/centralized-configuration/
По сути, у вас есть централизованное место для хранения всех конфигураций, и вам не нужно повторно развертывать приложение каждый раз, когда вы меняете конфигурации.
ПРИМЕЧАНИЕ. Если вы измените свойства базы данных, возможно, вам потребуется перезапустить службу.
Вы должны использовать Весенняя облачная конфигурация, который позволяет использовать централизованный сервер, который предоставляет репозиторий Git, который вы можете использовать для хранения файлов конфигурации, специфичных для среды (application.properties).
Используйте файл свойств, внешний по отношению к приложению. Или используйте переменные окружения.