Skip to content
About
Main content
Trade-off

Coupling vs. coordination cost

Where you meet it: 2PC vs. sagas, schema contracts vs. schema-on-read.

What it is

Every mechanism here was buying decoupling. But decoupling is not free. It is relocated coupling. You never remove the dependency between producer and consumer. You move it somewhere you would rather have it. (This is the same law as "costs are conserved and relocated": a cost is never removed, only moved to another place, time or person.)

From Data Movement › The whole domain

Sharing a queue is sharing a fate; the coupling is created by the queue, not by the work. Two requests with nothing in common become mutually dependent the moment they share a FIFO, a lock, a pool or a partition. The strength of the coupling is the ratio of their costs, not their number. Every fix is one of exactly two moves: partition the resource, or equalize the work.

From Scheduling & Workload Management › Head-of-line and inversion

Where it appears

In 16 mechanisms. Each says what the mechanism is about, then how this trade-off shows up there, in its own words.

Made on the same pages most often.