Suggest an editImprove this articleRefine the answer for “What is a "Distributed Monolith"?”. Your changes go to moderation before they’re published.Approval requiredContentWhat you’re changing🇺🇸EN🇺🇦UAPreviewTitle (EN)Short answer (EN)A **Distributed Monolith** ("a distributed monolith") is an anti-pattern in which a system looks like a set of microservices from the outside, but in practice behaves like a single monolith: it requires simultaneous deployment and is tightly coupled through API calls. **Key point:** the main sign of a distributed monolith is that dependency between services is stronger than their autonomy.Shown above the full answer for quick recall.Answer (EN)ImageA **Distributed Monolith** is an anti-pattern in which a system looks like a set of microservices on the outside, but in practice behaves **like a single monolith**. ### The essence The services are formally separated, but have rigid dependencies: - they require simultaneous deployment, - they are tightly coupled through API calls, - they cannot work independently. *In essence:* the system gained the complexity of being distributed, networking, DevOps, orchestration, but did not gain the benefits of microservices: autonomy and flexibility. ### Signs of a "distributed monolith" 1. **Services cannot be deployed separately:** changing one requires recompiling the others. 2. **Too many synchronous calls:** every request "drags along" a chain of 5-10 services. 3. **Shared libraries or a database:** a schema change breaks everything. 4. **No independent versioning:** everything is released as "one big commit". 5. **Frequent cascading failures:** one service going down brings down the whole system. ### Why this is bad - Loss of independence and scalability. - Releases and testing become more complex than with a monolith. - The system is overloaded with network calls and DevOps complexity without any payoff. ### How to avoid it - Split services by **bounded context**. - Use **asynchronous communication** and **clear API contracts**. - Isolate data and releases. - Introduce **contract tests** between services. **Summary:** > A **Distributed Monolith** is "a monolith cut apart over the network". > It is complex, fragile, and defeats the purpose of a microservice architecture. > The main sign is that dependency between services is stronger than their autonomy.For the reviewerNote to the moderator (optional)Visible only to the moderator. Helps review go faster.