Как централизовать конфигурации между службами нескольких узлов?
В настоящее время развернуто и выполняется несколько служб узлов. pm2
в окружающей среде.
Сложность (с точки зрения обслуживания), которую я вижу в своей текущей кодовой базе, заключается в том, что каждый из этих сервисов узла имеет отдельный файл конфигурации (config\app.json) - хотя большинство свойств в этих файлах конфигурации являются общими для всех сервисов Каждое свойство упоминается в каждом отдельном сервисе в коде. Если есть изменение какого-либо из этих свойств, мне придется изменить изменение в нескольких местах.
Я хотел бы централизовать конфигурации для нескольких служб узлов. Есть способ сделать это? Ожидание должно иметь централизованное место для поддержки конфигураций. Любые ссылки помогут.
1 ответ
Я не уверен, какова ваша архитектура, но если вы не возражаете против создания небольшой библиотеки или микросервиса, который просто извлечет ваши конфигурации из небольшой базы данных NoSQL, такой как Redis, которая хранит пары ключ-значение, то она предоставит вам конфигурации по адресу централизованное место.
Теперь единственная конфигурация, которая здесь остается, - это redis, которую вы можете добавить при создании сервиса, предоставив его конфигурацию в качестве переменной среды с использованием чего-то вроде yargs.
Затем в каждом сервисе вам нужно будет сделать только один вызов API, чтобы заполнить ваш конфиг json в вашем случае config/app.json