Modular Monolith in Node.js: Enforcing Module Public APIs
Build a modular monolith in Node.js with TypeScript: small index.ts public APIs, tooling-enforced boundaries, data ownership, events, and a composition root.
13 min read
Category
When one deployable is the right answer, how to structure it, and how to migrate in either direction.
Build a modular monolith in Node.js with TypeScript: small index.ts public APIs, tooling-enforced boundaries, data ownership, events, and a composition root.
13 min read
Learn how to split a monolith database by mapping joins first, assigning table ownership, and migrating one reversible stage at a time with safe rollbacks.
15 min read
Define modules, write allow-list dependency rules, and fail CI on violations using ArchUnit tests on the JVM and boundary lint rules in TypeScript.
13 min read
A step-by-step playbook to merge microservices into a modular monolith: when to do it, how to consolidate code and data safely, and what it costs.
13 min read
Learn how Spring Modulith infers modules, fails builds on boundary violations, and decouples modules with transactional application events in a Java monolith.
13 min read
How the strangler fig pattern works at the proxy layer: picking slices, routing rules, data ownership, parity checks, rollback, and finishing the migration.
14 min read
Route reads to Postgres replicas safely: why replication lag varies, read-your-writes strategies, a single routing layer, lag checks, and testing.
13 min read
Compare in-process workers, a database-backed job queue and a message broker for monolith background jobs, with retries, idempotency, scheduling and scaling signals.
20 min read
Compare shared tables with row-level security against schema per tenant for a multi-tenant monolith: isolation, migrations, performance, lifecycle, and cost.
15 min read
Learn how to extract your first service from a monolith by choosing a clean seam, untangling data, cutting over safely, and budgeting for platform work.
13 min read
Compare in-process and shared caches in a monolith, covering hit rates under scaling, invalidation, cache stampede fixes, two-tier design and what to measure.
13 min read
Learn how to discover bounded contexts, enforce module boundaries in code, schema and CI, map context relationships, and decide when to extract a service.
13 min read