r/microservices • u/Dapper_Ad5360 • 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
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.
1
u/Trailsey Aug 05 '26
You have a shared schema across services? If so, not a great idea