У меня вопрос о микросервисах и дизайне базы данных.Ситуация: у меня есть сервисная служба самолетов, которая обрабатывает все данные о самолете, типе самолета и так далее.И у меня есть Сервисная служба Авиабилеты, которая обрабатывает все данные о рейсах.Я должен связать самолет с рейсом.Обычно я создаю внешний ключ в таблице полетов, который связывает самолет.Но в микросервисной архитектуре я понимаю, что у меня есть домены и отдельные базы данных.Поэтому мой вопрос заключается в том, как я могу представить эту проблему.
Моей первой мыслью было, что у меня есть база данных для всех самолетов и база данных для всех рейсов.таблица полетов становится «косвенным» внешним ключом для самолета.Когда я звоню в службу полетов, служба полетов звонит в службу обслуживания самолетов с идентификатором из таблицы полетов, а затем формирует ответ.Это обещало, что я не буду звонить в базу данных самолетов прямо из службы полетов
Правильно ли мое решение?Какова наилучшая практика в этом случае использования?
После того, как я подумал о проблеме, когда я удаляю самолет, я должен сообщить службе полета, что указанный самолет больше не существует, и служба полета имеетобновить «косвенный» внешний ключ.
Может ли кто-нибудь мне помочь?
Спасибо