Добрый день
Вопрос по микросервисам
Какие есть способы поддерживать consistency между сервисами? Например, если пользователь был удален, то необходимо ведь удалить все его данные
На данный момент уже используем eureka, но пока что сервисы были просто коннекторами к SAP системам
Как вариант для нашей ситуации придумал такой - вынести DAL слой из сервиса в отдельный проект, чтобы другие сервисы могли использовать те же entity, и тогда каскадные операции будут работать, и валидировать данные проще - если есть foreign key, то он точно правильный
Но тогда это привязывает к одной БД (что. правда, в данный момент не проблема)
Другой вариант сложнее - делать какую-то систему сообщений об изменениях, при этом сервисы должны будут обновлять свои данные в соответствии с этими событиями
Верно ли то, что я написал? Есть ли другие способы, более правильные/более простые?
>Как вариант для нашей ситуации придумал такой - вынести DAL слой из сервиса в отдельный проект, чтобы другие сервисы могли использовать те же entity, и тогда каскадные операции будут работать, и валидировать данные проще - если есть foreign key
у вас все микросервисы пользуются одной бд и одной схемой?
если еще нет, то на такую схему не переходите ни в коем случае
обычно делается шина между сервисами и уведомлеиня об изменениях бродкастом всем, что бы соседние сервисы обновили у себя