检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
查询消费者列表 功能介绍 查询消费组内消费者列表 调用方法 请参见如何调用API。 URI GET /v2/rocketmq/{project_id}/instances/{instance_id}/groups/{group}/clients 表1 路径参数 参数 是否必选 参数类型
查看RocketMQ消费者连接地址 消费者连接地址即消费消息的客户端地址,当客户端连接RocketMQ消费消息时,可通过控制台查看客户端的连接地址。 约束与限制 消费者处于连接RocketMQ实例时,才可以查看消费者连接地址。 前提条件 已创建消费组,且消费组中已存在消费者。 已创建Topic。
取值范围:1~16 如果是顺序消费,可通过消费者的setMaxReconsumeTimes函数配置。 是否允许以广播模式消费 是否设置为广播消费。 若开启广播消费,每条消息都会被消费组内的所有消费者消费一次。否则,每条消息只会被消费组内的某一消费者消费。 是否顺序消费 RocketMQ实例的版本为5
重置RocketMQ消费进度 重置消费进度即修改消费者的消费位置,重置消费进度后,消费者会从修改后的消息位置开始继续消费。 重置消费进度可能会导致重复消费,请谨慎操作。 操作视频 本视频演示重置RocketMQ消费进度的操作。 前提条件 已创建消费组,且消费组中已存在消费者。 已创建Topic。 重置RocketMQ消费进度
RocketMQ提供PushConsumer和SimpleConsumer类型的消费者,PushConsumer消费者订阅普通消息时,代码不区分同步订阅和异步订阅。SimpleConsumer消费者订阅普通消息时,代码需要区分同步订阅和异步订阅。 普通消息发送方式分为同步发送和异步发送。
者端要做好消息的分类,便于消费者可以使用Tag进行消息的准确订阅。而在消费者端,则要保证订阅关系的一致性。 错误的订阅关系 同一消费组下的消费者订阅了不同的Topic 例如,消费组Group1下有消费者A和消费者B,消费者A订阅了Topic A,消费者B订阅了Topic B。当生产者向Topic
值(默认16次,在创建RocketMQ消费组中可配置)时,依然消费失败,则其将被投递到该消费者对应的特殊队列(即死信队列)中,这种消息被称为死信消息。 死信消息具有如下特性: 不会再被消费者正常消费。 死信消息默认保留时间为48小时,超时后,会被自动删除。如果想要修改死信消息保留
验证RocketMQ消息消费 消费验证是将消息重新发送到指定的在线客户端,验证消费者能否收到消息。消费验证会导致消息重复消费。 前提条件 仅在实例的“状态”为“运行中”时,才可以进行消费验证。 确保待进行消费验证的客户端处于在线状态,且消费者已订阅待重新发送的消息所属的Topic。 验证RocketMQ消息消费
提交成功:允许消费者消费此事务消息。 回滚:事务消息将被丢弃,不允许消费者消费此事务消息。 未知,待确认:事务消息状态暂时无法确定,等待固定时间后,服务端向生产者进行消息回查。 生产耗时 生产者发送消息的耗时。 单位:毫秒 生产地址 生产者的IP地址。 消费者状态 消费者状态如下: 消费成功
同一类生产者的集合,这类生产者发送同一类消息且发送逻辑一致。 消费者(Consumer) 接收消息的对象,负责从服务端获取消息。 消费组(Consumer Group) 多个消费者组成同一个消费组,同一消费组内的消费者具有相同的消费属性。 代理(Broker) 一组节点构成的一个业务集群。
定时消息适用于以下场景: 消息对应的业务逻辑有时间窗口要求,如电商交易中超时未支付关闭订单的场景。在订单创建时发送一条定时消息,5分钟以后投递给消费者,消费者收到此消息后需要判断对应订单是否完成支付,如果未完成支付,则关闭订单。如果已完成,则忽略。 通过消息触发定时任务的场景,如在某些固定时间点向用户发送提醒消息。
定时消息适用于以下场景: 消息对应的业务逻辑有时间窗口要求,如电商交易中超时未支付关闭订单的场景。在订单创建时发送一条定时消息,5分钟以后投递给消费者,消费者收到此消息后需要判断对应订单是否完成支付,如果未完成支付,则关闭订单。如果已完成,则忽略。 通过消息触发定时任务的场景,如在某些固定时间点向用户发送提醒消息。
使用ACL权限访问 实例开启ACL访问控制后,消息生产者和消费者都需要增加用户认证信息。 生产者增加用户认证信息 普通消息、顺序消息和定时消息,参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 from rocketmq.client import Producer
用户购买RocketMQ实例后,生产者客户端连接RocketMQ实例进行消息生产,生产的消息被存储在RocketMQ实例的Topic中,消费者客户端通过订阅Topic消费消息。 使用RocketMQ实例生产消费消息的流程如下图所示。 图1 RocketMQ业务使用流程 创建用户并授权使用DMS
使用ACL权限访问 实例开启ACL访问控制后,消息生产者和消费者都需要增加用户认证信息。 生产者增加用户认证信息 普通消息、顺序消息和定时消息,参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 import ( "context" "fmt" "os"
RET_KEY为用户的密钥。创建用户的步骤,请参见创建用户。为了确保用户名和密钥的安全性,建议对用户名和密钥进行加密处理。 消费者增加用户认证信息 消费者初始化时需要增加“rpcHook”参数。无论是普通消息、顺序消息、定时消息,还是事务消息,都增加如下代码。 RPCHook rpcHook
借助实例诊断功能可以帮助您快速定位问题。 操作视频 本视频演示诊断RocketMQ实例的操作。 前提条件 已创建消费组,且消费组中已存在消费者。 已创建Topic。 诊断实例 登录管理控制台。 在管理控制台左上角单击,选择区域。 请选择RocketMQ实例所在的区域。 在管理控制台左上角单击,选择“应用中间件
开启RocketMQ ACL访问 通过ACL(Access Control List)可以实现对RocketMQ实例中生产者和消费者身份的精确识别,达到权限管理的目的。开启ACL权限控制功能后,生产消息和消费消息时,需要鉴权。 约束与限制 仅2021年8月21号后购买的实例,支持设置ACL访问控制。
消费端限流 在分布式消息服务RocketMQ版中,消费者消费消息时,可能会出现消费过快导致下游业务来不及处理的情况,进而影响系统的稳定性。本章节介绍在消费端进行限流的示例代码,以保障系统的稳定。 准备环境 开源的Java客户端支持连接分布式消息服务RocketMQ版,推荐使用的客户端版本为4
送成功后,在服务端中就会存在两条内容相同的消息,最终消费者会消费到两条内容一样的重复消息。 消费者消费消息时发生消息重复: 消费者消费消息时,服务端将消息投递至消费者并完成业务处理。如果此时发生网络闪断,导致服务端未收到消费者的响应,此时服务端会认为消息投递失败。为了保证消息至少