Архитектура микросервисов предполагает, что каждая служба должна обрабатывать свои собственные данные. Следовательно, любая услуга (услуга A), зависящая от данных, принадлежащих другой службе (услуга B), должна обращаться к таким данным не посредством прямых вызовов БД, а через api, предоставляемую второй услугой (услугой B).
Итак, что предлагает лучшие методы микросервисов для проверки ограничений внешнего ключа.
Пример: Я разрабатываю функцию доставки (микросервис 1) для продуктов, а некоторые продукты поставляются только в определенных местах, как указано в таблице продуктов, доступной только для микросервиса продуктов (mircoservice 2).
Как я могу убедиться, что микросервис 1 (например, функция доставки) не принимает заказ в несертифицированное местоположение. У меня есть этот вопрос, потому что функция доставки не может напрямую обращаться к базе данных продуктов, поэтому нет ограничений, применяемых на уровне БД, когда заказ доставки помещается в базу данных доставки (проверка невозможна, если существует соответствие внешнего ключа в базе данных продуктов или таблицы).