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:

    1. persistent://tenant/app1/topic-1
    2. 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.

    1. Pulsar Admin clients communicate with the Admin Restful API to update topic level policies.
    2. Any broker that receives the Admin HTTP request publishes a topic policy change event to the corresponding __change_events topic of the namespace.
    3. 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.
    4. Once the policy cache is updated, the broker sends the response back to the Pulsar Admin clients.