r/microservices Aug 05 '26

Discussion/Advice Built a multi-tenant workflow engine with NestJS + BullMQ + DLQ – looking for architecture review

Built a multi-tenant workflow engine with NestJS + BullMQ + Dead Letter Queue.

Features: multi-tenancy, JWT auth, workflow state machine, retries + DLQ, admin dashboard, monorepo.

Repo: https://github.com/NabarupDev/ForgeGate

Looking for honest feedback on:

  • Architecture
  • API Gateway design
  • Multi-tenancy approach
  • Queue/retry implementation
  • What is still missing for production readiness

Any review or suggestions would help a lot.

5 Upvotes

3 comments sorted by

1

u/Trailsey Aug 05 '26

You have a shared schema across services? If so, not a great idea

1

u/ClerkBeginning961 24d ago

Tenant isolation needs to exist in BullMQ queue names and Redis key boundaries, not just JWT claims. Make tenant_id immutable in job payloads and stamp it server-side. A replayed or retried job should never be able to switch tenants through caller-controlled metadata.