Member-only story

Domain Partitions: How To Find a Healthy Balance Between Microservices and Monoliths

An in-depth look at an architectural pattern that will suit the majority of small- to medium-sized companies

Ashley Peacock
Better Programming

--

Schematic
Photo by Hanna Morris on Unsplash

For as long as engineers have been producing code, there’s always been discussions about the best way to architect a set of systems. Two of the most common patterns are monoliths and microservices.

They both have their pros and cons, but is there an alternative that seeks to find a balance between the two? I believe so — domain partitioned services.

What Is a Domain Partition?

Before we delve into what a domain partition is, it’s important to quickly cover the standard architectures for Microservices and Monoliths.

Typically, microservices architecture encourages the creation of relatively small services, each their own repository, all communicating over the network in some way — e.g. HTTP or via a message broker. On the opposite end of the spectrum, a monolith is typically a large service, all in a single repository, with in-memory calls for communication between different parts of the system.

So, how do domain partitions fit in? Essentially, they are a middle ground between the…

--

--

No responses yet

Write a response