Что такое распределенный монолит? Все просто. Монолит может быть хорошим, модульным, построенным с учетом модели предметной области, где модули максимально автономны (имеют слабую связанность), имеют одну цель и при этом имеют высокое сцепление. Возможно и обратное - тотальные зависимости всего от всего, именования сущностей как попало, любое мелкое изменение - как шрапнелью. С кучей соответствующих проблем. И в там и там в монолите вызовы - локальные. Если «распилить» монолит, то получим распиленный монолит, то есть по сути то же, что было, только с удаленными вызовами. В первом случае - неплохой набор потенциальных микросервисов (с поправкой на инфраструктуру). Во втором случае - полный фарш проблем. И вот именно этот случай в народе принято называть распределенным монолитом. Чтобы так не произошло - сначала строим модель предметной области, получаем стратегический дизайн и начинаем двигаться в его сторону постепенно перенося код из монолита в нужные места микросервисов в соответствии со стратегическим дизайном (например в DDD). Или не микросервисов, а модулей все в том же монолите, постепенно двигаясь к первому варианту монолита - хорошему и модульному =)