Как управлять информацией базы данных из одного микросервиса в другойC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как управлять информацией базы данных из одного микросервиса в другой

Сообщение Anonymous »

У меня есть два микросервиса. Микросервис А отвечает за хранение информации о сотрудниках. Есть два стола, люди и пилоты. Лица содержат данные об имени, адресе электронной почты, телефоне, а также типе этого человека (может быть пилот, экипаж и т. д.). У пилотов есть внешний ключ к этому человеку. В микросервисе B у меня есть таблица резервирования, в которой должна быть ссылка на пилотную версию и некоторые дополнительные сведения, такие как имя и адрес электронной почты, поскольку у меня есть задание, которое будет выполняться каждый день и отправлять несколько электронных писем при выполнении определенных условий.Первая идея заключалась в том, чтобы иметь в микросервисе B таблицу Pilot, которая будет содержать важные данные об этом пилоте, включая некоторую информацию от соответствующего лица, и использовать этот идентификатор пилота в качестве внешнего ключа при бронировании. Эта таблица должна обновляться при создании пилотного проекта в микросервисе A путем подписки на событие или при обновлении соответствующего человека.
Вторая идея заключалась в том, чтобы хранить таблицы Pilot и Person в микросервисе. B, но только с существенной информацией о каждом объекте. Пилот также связан с человеком через внешний ключ, как в микросервисе А, а также имеет пилотный вариант в бронированиях через внешний ключ.
Третья идея заключалась в том, чтобы хранить только пилотный идентификатор из микросервиса А непосредственно в микросервисе. B в таблице заказов и всякий раз, когда мне нужна дополнительная информация, чтобы позвонить в микросервис A и получить электронную почту и полное имя или что-то еще, что мне нужно, и таким образом я избегаю управления данными при обновлении в микросервисе A, а также дублирую данные и методы обновления.
Вторая идея, похоже, содержит слишком много дублирующихся данных и кода, и я думаю, что ее будет сложнее поддерживать. Также я не знаю, нарушит ли это принцип микросервисов.
Третья идея может в какой-то момент привести к проблемам с производительностью, но я не уверен.
Какой подход должен быть наиболее подходящим для этого сценария?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -other-one
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»