Making an Application Multitenant Without Annoying Developers
summary
Mirakl describes converting a Java/Spring monotenant app into a multitenant system using PostgreSQL, Kafka and OpenSearch. The approach uses tenant-scoped Spring beans with a tenant holder and request filter to route to the correct datastore, per-tenant PostgreSQL databases for physical isolation, OpenSearch aliases to enforce tenant filters, and Kafka header propagation for background processing; this enabled serving ~300 production clients with no data leaks while reducing costs and adding quotas and segmented monitoring.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 2:28Monotenant architecture issues
- 7:20Multitenant architecture choices
- 13:20Multitenant database strategies
- 21:02Custom Spring scope
- 31:05Production best practices
- 35:56Blast radius management
- 40:26Summary and feedback
related talks
44mHello Multitenancy World!
25mMultitenant applications: how and why
28mDivide and Conquer: Multi-tenancy in Postgres
24mArchitecting Multi-Tenant Backstage Instances in a Shared...
38mDeveloping Multi-Tenant Applications
11mOptimizing Product Management with Multi-Tenancy Architecture
31mSaaS Migration: Moving From Single-Tenant to Multi-Tenant on AWS
40mPanel Discussion: Multi-Tenancy in Kubernetes: Current State and Future Roadmap
