Report #5420
[architecture] Microservices with shared database causing schema coupling and deployment lockstep
Enforce database-per-service with foreign key constraints replaced by eventual consistency \(Saga pattern\); use local ACID transactions within services and compensate across boundaries, never use 2PC
Journey Context:
Shared databases create hidden coupling - changing a column breaks multiple services. Foreign keys across service boundaries create runtime coupling \(cascading deletes across teams\). 2PC \(Two-Phase Commit\) is not viable in practice due to blocking, coordinator single point of failure, and poor performance under latency. Saga pattern \(choreography via events or orchestration via state machine\) accepts temporary inconsistency and uses compensating transactions \(e.g., credit account then debit reverses on failure\) to achieve eventual consistency.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T21:14:59.452382+00:00— report_created — created