Skip to content

Read-replica routing for read-heavy endpoints #246

Description

@kilodesodiq-arch

Problem Statement. Backend uses a single Prisma datasource. Reads and writes share
the same connection budget; long-running reports slow daily operations.

Why it matters. A trivial operational scale-up.

Technical Context. @prisma/client supports datasources per-client.

Expected Outcome. A PrismaReadReplicaService wraps Prisma but routes find*,
count*, aggregate* to DATABASE_URL_READ while keeping writes on DATABASE_URL.

Acceptance Criteria.

  • E2E test asserts that two parallel reads survive a write transaction
    (writes via primary, reads via replica).
  • Dashboard endpoints (/metrics?source=…) declare read-replica explicitly.

Files or modules likely to be affected. src/prisma/prisma.module.ts,
new src/prisma/prisma-read-replica.service.ts.

Difficulty. Medium
Estimated effort. M


Backend Architecture — Issues 39–48


Backlog item #38 from `docs/maintainer-issue-backlog.md.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions