pulsar和其他的發(fā)布訂閱系統(tǒng)一樣,Pulsar 中的 topic 是被命名的通道扣典,用做從producer到 consumer傳輸消息唆鸡。 Topic的名稱是具有明確定義結(jié)構(gòu)的URL:
在2.0版本之前topic形式如下
{persistent|non-persistent}://property/cluster/namespace/topic
在2.0版本后topic發(fā)生了一些變化
- 不再使用集群部分
- 屬性變更為租戶
- 可以使用命名系統(tǒng)簡(jiǎn)化topic
變更后topic形式:{persistent|non-persistent}://tenant/namespace/topic
- persistent|non-persistent表示數(shù)據(jù)是否持久化(Pulsar支持消息持久化和非持久化兩種模式)
- Tenant為租戶
- Namespace一般聚合一系列相關(guān)的Topic兄裂,一個(gè)租戶下可以有多個(gè)Namespace
Topic | 默認(rèn)值 |
---|---|
topic 類型 | persistent |
租戶 | public |
命名空間 | default |
例如:
輸入 topic 名稱 | 轉(zhuǎn)換后的 topic 名稱 |
---|---|
my-topic | persistent://public/default/my-topic |
my-tenant/my-namespace/my-topic | persistent://tenant/namespace/topic |
對(duì)于非持久化 topics池凄,需要指定 topic 的完整名稱
上圖中Property即為租戶(tenant)抡驼,每個(gè)租戶下可以有多個(gè)Namespace,每個(gè)Namespace下有多個(gè)Topic肿仑。
Namespace是Pulsar中的操作單元致盟,包括Topic是配置在Namespace級(jí)別的,包括多地域復(fù)制尤慰,消息過期策略等都是配置在Namespace上的馏锡。