Как использовать модель данных БД с микросервисами?
Есть большая БД. Планируется написание ряда микросервисов для работы с ней. Каждый микросервис будет работать через ORM. Понятно дело, что для работы через ORM у микросервиса должна быть модель данных БД.
Вопрос. Как быть если требуется внести изменения в БД. Ведь если мы изменим схему, то изменение схемы затронет остальные n сервисов. Который нужно будет пересобрать с новой схемой БД и протестировать каждый, что ничего не отвалилось.
А если не иметь общей схемы БД, то еще сложнее становится.
К вопросу зачем микросервисы. Чтобы в результате ошибки все сразу не падало и можно было исправить сломавшийся компонент, забив на все остальное.
Pavel Denisov, сейчас проблема в том, что монолит крайне большой и фиг пойми когда написанный. Поддерживать сложно.
Что микросервисы это не серебрянная пуля понятно, но все же
beduin01, у вас большой опыт с микросервисами?
поддерживать микросервисы сложнее монолита.
возможно вам лучше отрефакторить ваш монолит. (вам все равно это делать придется если вы его на микросервисы делить будете.)
По хорошему каждый микросервис должен работать со своей БД.
А так, разбить микросервисы так, чтобы изменение схемы БД не приводило к изменениям всех микросеврисов.
Ну и писать тесты, тесты и еще раз тесты.
Чтобы не искать где какие таблицы используются, а прогнать тесты и увидеть что где "упало"