Для людей, которые разбивают монолитные приложения на микросервисы, как вы справляетесь с проблемой разрыва базы данных. Типичные приложения, над которыми я работал, делают большую интеграцию с базой данных по производительности и простоте.
Если у вас есть две таблицы, которые логически различны (ограниченные контексты, если вы это сделаете), но вы часто выполняете агрегированную обработку на больших томах этих данных, тогда в монолите вы более чем вероятно избегаете ориентации объекта и вместо этого используете ваша стандартная функция базы данных JOIN для обработки данных в базе данных до возвращения агрегированного представления обратно в ваш уровень приложения.
Как вы оправдываете разделение таких данных на микросервисы, где предположительно вам потребуется "присоединить" данные через API, а не в базе данных.
Я прочитал книгу Сэма Ньюмана Microservices и в главе о разделении Монолита он приводит пример "Нарушения внешних ключей", где он признает, что совместное использование API будет медленнее - но он продолжает сказать, если ваше приложение достаточно быстро в любом случае, имеет ли значение, что он медленнее, чем раньше?
Это кажется немного бледным? Что люди переживают? Какие методы вы использовали для обеспечения совместимости API-соединений?