Тот факт, что вы храните свои данные в файлах, и что они обновляются из внешнего источника, добавляет дополнительную проблему.
Если у вас есть, скажем, 2 экземпляра службы погоды, то при чтении и обновлении одного и того же файла у них возникнут проблемы с блокировкой.
Кроме того, вы захотите, чтобы проверка обновления выполнялась только один раз, а не по одному экземпляру.
Поэтому я бы посоветовал спрятать файлы за другой службой, которая может заниматься кэшированием, обновлением, обходом блокировок и т.д.
Если файлы в наборе могут быть разделены на их ретроспективные службы, вы можете сделать это и иметь несколько таких служб защиты файлов, по одной на группу файлов. Это было бы более микросервисным
Или вы можете отделить службу обновления и использовать базу данных для хранения информации, а не файловую систему, что решит проблемы блокировки.
Система push-сообщений или очередей может решить проблемы обновления без отдельной службы.
Прикрепляю к посту несколько видео по теме: