RocketMQ Topic/Group/Tags介绍
Posted 抓手
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RocketMQ Topic/Group/Tags介绍相关的知识,希望对你有一定的参考价值。
Topic
功能介绍
- Topic是RocketMQ里对消息的一级归类。
- RocketMQ通过Topic完成消息的发布和订阅。消息生产者将消息发送到Topic中,而消息消费者则通过订阅该Topic来消费消息。
使用说明
- Topic不能跨实例使用,例如在实例A中创建的Topic A不能在实例B中使用。
命名规范
- Topic名称长度限制为3~64个字符,只能包含英文、数字、短划线(-)以及下划线(_)。
- 如果Topic所在的实例有命名空间,则Topic的名称需要保证实例内唯一,不能和本实例下已有的Topic名称或Group ID重复;跨实例之间可以重名,例如实例A的Topic名称可以和实例B的Topic名称重复,也可以和实例B的Group ID重复。
- 如果Topic所在的实例无命名空间,则Topic的名称需要保证跨实例和跨地域全局唯一,全局范围内不能和已有的Topic名称或Group ID重复。
Group
功能介绍
- Group表示一类Producer或Consumer,这类Producer或Consumer通常生产或消费同一类消息,且消息发布或订阅的逻辑一致。
- 使用RocketMQ进行消息收发,您需要创建Group ID用于标识同一类生产者实例或者同一类消费者实例。
使用说明
- Group ID不能跨实例使用,例如实例A中创建的Group ID不能在实例B中使用。
- RocketMQ支持HTTP协议和TCP协议的Group,不同的消费Group ID可以使用不同类型的协议消费消息,建议您分别为两种协议创建对应类型的Group ID。
- 消费者必须有对应的Group ID,生产者不做强制要求。
命名规范
- Group ID推荐以“GID_”或“GID-”开头,长度限制为2~64个字符,只能包含英文、数字、短划线(-)以及下划线(_)。
- 如果Group所在实例有命名空间,则Group ID需要保证实例内唯一,不能和本实例下已有的Group ID或Topic名称重复;跨实例之间可以重名,例如实例A的Group ID可以和实例B的Group ID重复,也可以和实例B的Topic名称重复。
- 如果Group所在实例无命名空间,则Group ID需要保证跨实例和跨地域全局唯一,全局范围内不能和已有的Group ID或Topic名称重复。
Tag
功能介绍
- Tag标签是RocketMQ里对消息的二级归类。
- RocketMQ支持为实例、Topic和Group添加标签。
- 标签可以识别资源,您可以将作用相同的RocketMQ的资源通过标签进行归类,便于搜索和资源聚合。
使用说明
- 标签都由一对键值对(Key-Value)组成。
- 资源的任一标签的标签键(Key)必须唯一。例如,先添加了city:shanghai标签,后续如需添加city:shenzhen标签,需先删除city:shanghai标签。
使用限制
- 键(Key)的最大长度:64个Unicode字符,区分大小写。
- 值(Value)的最大长度:64个Unicode字符,区分大小写。
- 每个资源的最大标签数为20。
- 键(Key)不支持aliyun、acs:开头,不允许包含http://和https://,不允许为空字符串。
- 值(Value)不允许包含http://和https://,允许为空字符串。
- 每个地域中的标签信息不互通。例如在华东1(杭州)地域创建的标签在华东2(上海)地域不可见。
标签使用场景
若未设置标签,则Topic资源只能通过Topic名称进行管理和识别,随着业务增加,Topic数量越来越多,管理也会越来越困难。您可以根据业务场景,将Topic进行分类,给相同业务场景的Topic设置同样的标签,设置完成后,您可以根据设置的标签键和标签值查询任一场景的Topic,以便您快速筛选和管理Topic资源。
未设置标签:
topic1 物流系统
topic2 支付系统
topic3 积分系统
topic4 支付系统
topic5 物流系统
topic6 支付系统
加标签后:
system:logistics
topic1 物流系统
topic5 物流系统
system:pay
topic2 支付系统
topic4 支付系统
topic6 支付系统
system:integral
topic3 积分系统
以上是关于RocketMQ Topic/Group/Tags介绍的主要内容,如果未能解决你的问题,请参考以下文章