Multi Tenancy
The multi-tenant nature of Pulsar is reflected mostly visibly in topic URLs, which have this structure:
To each tenant in a Pulsar instance you can assign:
- An authorization scheme
- The set of to which the tenant’s configuration applies
Namespaces
- Pulsar is provisioned for specified tenants with appropriate capacity allocated to the tenant.
Names for topics in the same namespace will look like this:
persistent://tenant/app1/topic-1
persistent://tenant/app1/topic-3
- Use Pulsar as an event log for propagating the policy cache. It can scale efficiently.
- Use Pulsar SQL to query the namespace changes and audit the system.
Each namespace has a system topic . This system topic is used for storing change events for a given namespace. The following figure illustrates how to use namespace change events to implement a topic-level policy.
- Pulsar Admin clients communicate with the Admin Restful API to update topic level policies.
- Any broker that receives the Admin HTTP request publishes a topic policy change event to the corresponding
__change_events
topic of the namespace. - Each broker that owns a namespace bundle(s) subscribes to the
__change_events
topic to receive change events of the namespace. It then applies the change events to the policy cache. - Once the policy cache is updated, the broker sends the response back to the Pulsar Admin clients.