@dauren10

Foreign key в микросервисах?

Добрый день,
если есть 2 микросервиса со своими БД
user_db --table users(id,email)
chat_db --table chat(id,user_id)
Получается в микросервисах связи и прочие отношения не используются?
Так как будет куча отдельных сервисов и баз (разные бизнес сущности) но содержащих колонку user_id
  • Вопрос задан
  • 188 просмотров
Решения вопроса 1
@nApoBo3
1. Каждый микросервис отдельно законченное приложение. Т.е. user_id для chat ровно такое же поле как, например user_message или message_utcdatetime. Никакой "связывающей" нагрузки оно не несет.
2. Микросервис, не должен иметь проблем внутри себя, если user_id не корректный.
3. Да, у вас будут отдельные сервисы имеющие поле user_id не контролируемое на уровне целостности базы данных. Его целостность вам следует обеспечить иными механизмами. Например вовсе отказаться от контроля целостности этого поля, по большому счету какая вам разница в сервисе chat, что именно в это user_id записано.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@barolina
turn coffee into code
Для целостности данных можно попробовать использовать FDW
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы