микросервисы - это для горизонтального масштабирования.
то есть когда при увеличении нагрузки - вы увеличивайте количество серверов.
ну а теперь подумайте, что будет с вашей базой данных, когда серверов с микросервисами у вас будет много, скажем 1000, а БД будет одна-единственная?
будет затык, то есть весь смысл горизонтального масштабирования теряется.
для микросервисов целесообразно использовать - своя БД для каждого.
а в качестве единой связующей между ними - использовать MQ.
Но вот возникает ситуация в которой нужно получить запись из базы по опеределенным притериям и тут мы сели в лужу, все эти данные в разных базах в разных сервисах, и нам приходиться их агрегировать через прослойки, вместо обычного JOIN QUERY в базу, мы что-то делаем не так или это издержки микросервисной архитектуры?
если это происходит часто, то значит вы некорректно побили на микросервисы.
они недостаточно изолированы по функционалу.