System Design
Distributed transactions in Microservices?
0) First principle Do NOT use XA/2PC across services. It’s slow, fragile, and couples vendors. Prefer eventual consistency with compensations and idempotency. 1) Sagas (the default) What A Saga is...
Distributed transactions in Microservices?
0) First principle Do NOT use XA/2PC across services. It’s slow, fragile, and couples vendors. Prefer eventual consistency with compensations and idempotency. 1) Sagas (the default) What A Saga is...
Microservices Anti‑Patterns
1) Distributed Monolith What: Many “services” but tightly coupled (shared releases, schemas, libraries).Why: Changes ripple across services; no independent deploys.Better: Independent deployability as a gate; per‑service DB; contract tests; semantic...
Microservices Anti‑Patterns
1) Distributed Monolith What: Many “services” but tightly coupled (shared releases, schemas, libraries).Why: Changes ripple across services; no independent deploys.Better: Independent deployability as a gate; per‑service DB; contract tests; semantic...
OpenID & Auth 2.0
1. OAuth 2.0 – Authorization Framework Purpose: Grants a client application limited access to a user’s resources on another service, without giving the client the user’s credentials. What it does:...
OpenID & Auth 2.0
1. OAuth 2.0 – Authorization Framework Purpose: Grants a client application limited access to a user’s resources on another service, without giving the client the user’s credentials. What it does:...
The 15 Factors | Heroku’s Twelve-Factor App
1. Codebase One codebase, multiple deploys A single repository for your application, deployed across different environments. Example: A GitHub repository containing a web app, deployed to staging and production with different...
The 15 Factors | Heroku’s Twelve-Factor App
1. Codebase One codebase, multiple deploys A single repository for your application, deployed across different environments. Example: A GitHub repository containing a web app, deployed to staging and production with different...
Microservices Design Patterns: Essential Archit...
1) Decomposition Design Patterns 1.1 Decompose by Business Capability Definition: Split services around high‑level business capabilities (e.g., Billing, Catalog, Shipping).Problem: Monoliths couple unrelated features; teams step on each other; slow,...
Microservices Design Patterns: Essential Archit...
1) Decomposition Design Patterns 1.1 Decompose by Business Capability Definition: Split services around high‑level business capabilities (e.g., Billing, Catalog, Shipping).Problem: Monoliths couple unrelated features; teams step on each other; slow,...
When one microservice talks to two databases
Legit use cases Polyglot persistence: one DB fits OLTP (e.g., Postgres) and another fits search/analytics (e.g., Elasticsearch). Strangler/migration: old DB + new DB during a phased rewrite. Read/write split across...
When one microservice talks to two databases
Legit use cases Polyglot persistence: one DB fits OLTP (e.g., Postgres) and another fits search/analytics (e.g., Elasticsearch). Strangler/migration: old DB + new DB during a phased rewrite. Read/write split across...