Hello there,
I would really appreciate some advice or verification from people with experience in comparable circumstances since I am currently focussing on developing a Kafka-based architecture to enable a multi-tenant SaaS implementation.
Onboarding several tenants who will each create and consume their own event streams is part of our use case. Data isolation, scalability, cost-effectiveness, and administrative simplicity are important factors. We are discussing namespacing inside shared topics versus having distinct topics for each tenant. We are also exploring Confluent’s RBAC and schema registry for tenant-specific data validation.
What are the benefits and drawbacks of using shared topics with tenant-specific keys as opposed to one subject per tenant?
Does managing hundreds of topics have an impact on performance or provide operational difficulties?
How can schema evolution be managed in a multi-tenant environment without causing schema conflicts amongst tenants?
Thanks in advance for your help and assistance.