быть своя БД". От не "только прибывшего".
И "меня терзают смутные сомнения", насколько это высказывание можно считать истиной?
https://ru.stackoverflow.com/questions/1417121/%d0%9a%d0%b0%d0%ba-%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%b8%d1%82%d1%8c-%d0%be%d0%b4%d0%bd%d1%83-%d0%b1%d0%b0%d0%b7%d1%83-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d1%85-%d0%b2-docker-%d0%b4%d0%bb%d1%8f-%d0%b2%d1%81%d0%b5%d1%85-%d0%bc%d0%b8%d0%ba%d1%80%d0%be%d1%81%d0%b5%d1%80%d0%b2%d0%b8%d1%81%d0%be%d0%b2-%d0%bd%d0%b0%d0%bf%d0%b8%d1%81%d0%b0%d0%bd%d0%bd%d1%8b%d1%85-%d0%bd%d0%b0-java#comment2522388_1417121
это верное высказывание
тогда я вообще ничего не понимаю... тот функционал, который я делаю сейчас - очень большой, очень разветвленный. Я могу (и хочу) разделить его на логические части. Но это возможно только на уровне кода. Потому что на уровне БД идут внешние ключи, constraints и прочие прибамбасы, обеспечивающие целостность данных. И всё это добро однозначно будет в одной БД. Но если брать за истину "каждому свою БД", то единственное, что мне стоит выносить - это сервис авторизации... И то - как выносить, ведь на каждое изменение пользователем в основной БД появится запись в логе вида "пользователь %id сделал fooBar". Ссылаться на ID из другой БД - ну, это такое себе...
Микросервисы нужны для разделения ответственности между командами. Над одним микросервисом работает только одна команда. Это делается для того, чтобы изменения внесенные одной командой, грубо говоря, не мешали работе другой команды. По этой же логике и база данных у микросервиса должна быть своя. а разбиения системы на логические части - это обычная модульность и микросервисы тут не обязательны
> Микросервисы нужны для разделения ответственности между командами. Нет, далеко не только для этого
Да, это единственно нормальная практика - иначе у вас распределённый монолит
Обсуждают сегодня