A distributed transaction is not available, so the pattern is: do each step, and if a later one fails, run compensating actions to undo the earlier ones. Compensation…
The synchronous call between two services was the reason both were down. Publishing an event decouples their availability — and makes eventual consistency a business decision.
Alerting on every cause — disk, memory, queue depth, replica lag, a failed cron — produces an alert per cause and a channel nobody reads. Alerting on what…
A service extracted for organisational reasons but reading and writing another service’s tables has all the costs of a network hop and none of the independence. It cannot…
Code that must run regardless of what an administrator does in the plugins screen — a security header, a filter that fixes a broken upstream URL, an environment…
A thin event carrying only an id forces every consumer to call back for the details, which is a synchronous dependency the event was meant to remove. A…
The first release where installing a package is one command. Auto-discovery removes two config edits per package, and hides the fact that they happened.