Автономия данных с использованием файлов в микросервисном приложении

Автономия данных с использованием файлов в микросервисном приложении
Автономия данных с использованием файлов в микросервисном приложении

Тот факт, что вы храните свои данные в файлах, и что они обновляются из внешнего источника, добавляет дополнительную проблему.

Если у вас есть, скажем, 2 экземпляра службы погоды, то при чтении и обновлении одного и того же файла у них возникнут проблемы с блокировкой.

Кроме того, вы захотите, чтобы проверка обновления выполнялась только один раз, а не по одному экземпляру.

Поэтому я бы посоветовал спрятать файлы за другой службой, которая может заниматься кэшированием, обновлением, обходом блокировок и т.д.

Если файлы в наборе могут быть разделены на их ретроспективные службы, вы можете сделать это и иметь несколько таких служб защиты файлов, по одной на группу файлов. Это было бы более микросервисным

Или вы можете отделить службу обновления и использовать базу данных для хранения информации, а не файловую систему, что решит проблемы блокировки.

Система push-сообщений или очередей может решить проблемы обновления без отдельной службы.

Прикрепляю к посту несколько видео по теме:

Прикрепленное видео 1 - ЭТОТ ПАТТЕРН ВЕЗДЕ! БАЗЫ ДАННЫХ В МИКРОСЕРВИСАХ

Прикрепленное видео 2 - Консистентность данных в микросервисной архитектуре. Как свести дебит с кредитом

Прикрепленное видео 3 - Шаблоны проектирования микросервисов на примере Авито, Фрол Крючков (Авито)


LetsCodeIt, 5 января 2023 г., 11:06