Group表示一类Producer或Consumer,这类Producer或Consumer通常生产或消费同一类消息,且消息发布或订阅的逻辑一致。使用云消息队列 RocketMQ 版进行消息收发,您需要创建Group ID用于标识同一类生产者实例或者同一类消费者实例。本文介绍如何在云消息队列 RocketMQ 版控制台上创建、删除和查询Group。
使用限制
单实例下最多创建1000个Group,建议您尽量复用或及时删除不需要的Group。若您对Group数量有特殊需求,请联系云消息队列 RocketMQ 版技术支持申请。
Group ID不能跨实例使用,例如实例A中创建的Group ID不能在实例B中使用。
云消息队列 RocketMQ 版支持HTTP协议和TCP协议的Group,不同的消费Group ID可以使用不同类型的协议消费消息,建议您分别为两种协议创建对应类型的Group ID。
若多个消费者使用同一个Group ID消费消息,其中部分消费者使用TCP协议,部分消费者使用HTTP协议,可能会导致消费失败、部分消息重复或丢失。
同一Group ID不能平滑地从一个消费协议切换到另一个协议,切换过渡时间大概需要1~2小时。
如果Group ID实际消费使用的协议和控制台上展示的协议不一致,会导致控制台上展示的相关数据不准确,但不会影响实际的消息收发。您可以联系云消息队列 RocketMQ 版技术支持申请将控制台上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名称重复。
实例是否有命名空间,可以在云消息队列 RocketMQ 版控制台实例详情页面的基础信息区域查看。
创建Group
登录云消息队列 RocketMQ 版控制台,在左侧导航栏单击实例列表。
在顶部菜单栏选择地域,如华东1(杭州),然后在实例列表中,单击目标实例名称。
在左侧导航栏,单击Group 管理。
在Group 管理页面选择客户端SDK的协议,然后单击创建 Group。
云消息队列 RocketMQ 版支持的客户端SDK协议有TCP 协议和HTTP 协议。
在创建Group面板中,输入该Group的Group ID和描述,然后单击确定。
删除Group
删除Group ID后,由该Group ID标识的消费者实例将立即停止接收消息,Group的相关资源也同时被删除且不可恢复,请您谨慎执行该操作。
在实例列表页面单击目标实例名称,然后在左侧导航栏,单击Group 管理。
在Group列表中找到您需要删除的Group,在其操作列单击更多,然后在弹出的下拉菜单中选择删除。
在弹出的对话框中单击确认。
查询Group
在实例列表页面单击目标实例名称,然后在左侧导航栏,单击Group 管理。
在Group列表中找到您需要查看的目标Group,单击Group的ID或在其操作列单击详情,进入Group详情页面。
更多操作
在Group 管理页面,您还可以执行其他相关操作。
在左侧导航栏,单击Group 管理。
在Group列表中找到您需要操作的Group,在其操作列单击更多,然后在弹出的下拉菜单中选择以下操作:
快速接入:查看云消息队列 RocketMQ 版提供的多语言SDK参考。
重置消费位点:通过重置消费位点,按需清除堆积的或不想消费的这部分消息再开始消费,或直接跳转到某个时间点消费该时间点之后的消息(不论是否消费过该时间点之前的消息)。更多信息,请参见重置消费位点。
云监控:查看当前Group下的消息监控数据。
仪表盘:查看当前Group的相关消费指标统计数据。
相关文档
Group的相关操作也可以通过调用API完成。
创建Group:OnsGroupCreate
删除Group:OnsGroupDelete
查询Group列表:OnsGroupList
查询Group的订阅关系:OnsGroupSubDetail
配置Group的读写权限:OnsGroupConsumerUpdate