基于主题的消息
最后更新于
2,857 / 5,000 翻译结果
从根本上说,NATS 是关于发布和侦听消息的。这两者都严重依赖于_Subjects_。
什么是主题? 在最简单的情况下,主题只是形成名称的字符串,发布者和订阅者可以使用该名称来查找对方。它有助于将消息范围限定为流或主题。
为了跨客户端的兼容性,我们建议使用 ASCII 字符(将来可能会更改)。
推荐字符: a
到 z
、A
到 Z
和 0
到 9
(名称区分大小写,不能包含空格)。 **特殊字符:**句点.
(用于分隔主题中的标记)和*
以及>
(*
和>
用作通配符)。 保留的主题名称: 按照惯例,以 $
开头的主题名称保留给系统使用(例如,以 $SYS
或 $JS
或 $KV
开头的主题名称等...)
.
字符用于创建主题层次结构。例如,世界时钟应用程序可能会定义以下内容以对相关主题进行逻辑分组:
NATS 提供了两个 通配符,它们可以代替点分隔主题中的一个或多个元素。订阅者可以使用这些通配符通过单个订阅收听多个主题,但发布者将始终使用完全指定的主题,而不使用通配符。
第一个通配符是 *
,它将匹配单个标记。例如,如果应用程序想要监听东部时区,他们可以订阅 time.*.east
,这将匹配 time.us.east
和 time.eu.east
。
译者注 单个标记,不是单个字母
第二个通配符是>
,它将匹配一个或多个标记,并且只能出现在主题的末尾。例如,time.us.>
将匹配 time.us.east
和 time.us.east.atlanta
,而 time.us.*
只会匹配 time.us.east
,因为它不能匹配多个令牌。
根据您的安全配置,通配符可用于通过创建有时称为 分接头 的东西进行监控。在最简单的情况下,您可以为>
创建一个订阅者。此应用程序将在安全设置的限制下接收在您的 NATS 集群上发送的所有消息。
通配符 *
可以在同一主题中出现多次。两种类型都可以使用。例如,*.*.east.>
将收到 time.us.east.atlanta
。
建议将主题中的最大标记数保持在最大 16 个的合理值。