Glean 拾遗
Recent picks

2picks · chronological

09-23

Consistency is Consistently Undervalued

The author argues that when teams adopt microservices or non-ACID databases, the most underrated loss is the transaction. Using a single constraint — one user must have exactly one profile — he shows how a single-database transaction gives atomicity and isolation for free: both rows are created together or not at all, and no other process ever observes a half-written state. Split users and profiles into two services and all of that disappears. He walks through the failure paths one by one: a failed profile write leaves an orphan user; the compensating delete can itself fail, or the process can die mid-way; even with 100% reliable services, concurrent threads can see the user without the profile and create a duplicate; foreign keys no longer hold, so profiles can point at deleted or changed user IDs; periodic cleanup of dangling rows still leaves a window of inconsistency. Application-layer compensation, he concludes, amounts to rebuilding a half-working, buggy distributed ACID database.

kevinmahoney.co.uk · 5 min · Database · Distributed Systems · Microservices
09-16

You Want Modules, Not Microservices

Ted Neward argues the microservices pitch is recycled: of six quoted benefits, two come from microservices literature, two from twenty-year-old EJB material, and two from Oracle Tuxedo, forty-year-old technology. Strip the branding and what remains is the module — an independently built, versioned, deployed and reusable unit of code, the concept Parnas defined in 1971 and Unix pipes-and-filters delivered in the 1970s. What organizations actually bought was organizational clarity: small teams owning their own analysis, testing, data and deployment dependencies instead of waiting on DBA, QA or infrastructure groups, at the cost of full-stack staffing and on-call duty. Technically, in-process module calls become network calls, adding five to seven orders of magnitude of latency and running into the Fallacies of Distributed Computing, which more nodes only worsen. Neward's advice: any decomposition behind a common API convention works; fix organizational dependencies directly. Suited to architects and tech leads.

blogs.newardassociates.com · 15 min · Distributed Systems · Microservices · Modularity