Multi Tenancy

    Pulsar 的多租户性质主要体现在 topic 的 URL 中,其结构如下:

    可以为 Pulsar 实例中的每个租户分配:

    • 授权机制
    • 适用于租户配置的配置

    命名空间

    • 命名空间是一个术语,指租户的管理单元。 命名空间上设置的配置策略适用于在该命名空间中创建的所有 topic。 租户可以使用 REST API 和 CLI 工具来创建多个命名空间。 例如,包含多个应用程序的租户可以为每个应用程序创建单独的命名空间。

    同一命名空间中 topic 的名称如下:

    1. persistent://tenant/app1/topic-1
    • 避免过多使用 Zookeeper, 给 Zookeeper 带来更高的负载。
    • Use Pulsar as an event log for propagating the policy cache. It can scale efficiently.
    • 可以使用Pulsar SQL 可以查询命名空间的改变日志,并对系统进行审计。

    每个命名空间有一个叫做的系统主题。 这个系统主题用来保存这个命名空间的事件改变信息。 如图所示,教你怎么样使用命名空间更改事件去实现主题级别的策略控制。

    1. Pulsar Admin 客户端可以使用Restful API和服务端通信,去修改主题级别的策略。
    2. 任何一台 broker 收到HTTP请求后,会往这个命名空间的__change_events主题发送一条策略改变事件信息。
    3. 一旦这个策略缓存被更新,这个broker会发送返回信息给 Pulsar Admin 客户端。