Multi Tenancy
Pulsar 的多租户性质主要体现在 topic 的 URL 中,其结构如下:
可以为 Pulsar 实例中的每个租户分配:
- 授权机制
- 适用于租户配置的配置
命名空间
- 命名空间是一个术语,指租户的管理单元。 命名空间上设置的配置策略适用于在该命名空间中创建的所有 topic。 租户可以使用 REST API 和 CLI 工具来创建多个命名空间。 例如,包含多个应用程序的租户可以为每个应用程序创建单独的命名空间。
同一命名空间中 topic 的名称如下:
persistent://tenant/app1/topic-1
- 避免过多使用 Zookeeper, 给 Zookeeper 带来更高的负载。
- Use Pulsar as an event log for propagating the policy cache. It can scale efficiently.
- 可以使用Pulsar SQL 可以查询命名空间的改变日志,并对系统进行审计。
每个命名空间有一个叫做的系统主题。 这个系统主题用来保存这个命名空间的事件改变信息。 如图所示,教你怎么样使用命名空间更改事件去实现主题级别的策略控制。
- Pulsar Admin 客户端可以使用Restful API和服务端通信,去修改主题级别的策略。
- 任何一台 broker 收到HTTP请求后,会往这个命名空间的
__change_events
主题发送一条策略改变事件信息。 - 一旦这个策略缓存被更新,这个broker会发送返回信息给 Pulsar Admin 客户端。