检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用ACL权限访问 实例开启ACL访问控制后,消息生产者和消费者都需要增加用户认证信息。 准备环境 开源的Java客户端支持连接分布式消息服务RocketMQ版,推荐使用的客户端版本为4.9.8。 通过以下任意一种方式引入依赖: 使用Maven方式引入依赖。 <dependency>
高吞吐、动态扩展、便捷多样的消息中间件服务。用户购买RocketMQ实例后,生产者客户端连接RocketMQ实例进行消息生产,生产的消息被存储在RocketMQ实例的Topic中,消费者客户端通过订阅Topic消费消息。 使用RocketMQ实例生产消费消息的流程如下图所示。 图1
根据公式计算出线程数的理想值,然后选取一个比理想值小的数据作为线程数起始值。逐步调大单个客户端的线程数,并观测客户端的系统指标,得到单个客户端的最优消费线程数和消息吞吐量。 根据上下游链路的流量峰值,计算出需要设置的客户端数量:客户端数=流量峰值/单客户端消息吞吐量。
异步发送是指消息发送方发出一条消息后,不等服务端返回响应,接着发送下一条消息的通讯方式。 使用异步发送需要客户端实现异步发送回调接口(SendCallback)。即消息发送方在发送了一条消息后,不需要等待服务端响应接着发送第二条消息。发送方通过回调接口接收服务端响应,并处理响应结果。 参考如下
配置消息堆积数监控 方案概述 在消息处理过程中,如果客户端的消费速度跟不上服务端的发送速度,未处理的消息会越来越多,这部分消息就被称为堆积消息。消息没有被及时消费就会产生消息堆积,从而会造成消息消费延迟。 如果您想要在消费组的消息堆积数超过阈值时,通过短信/邮件及时收到通知信息,
轨迹,您能清晰定位消息从生产者发出,经由RocketMQ服务端,投递给消费者的完整链路,方便定位排查问题。 本章节介绍使用Java、Go和Spring开启消息轨迹,以及查看消息轨迹的方法。 前提条件 生产者Java客户端版本在4.9.0以上才支持事务消息的轨迹,如果版本不满足要求,请先升级。
异步发送是指消息发送方发出一条消息后,不等服务端返回响应,接着发送下一条消息的通讯方式。 使用异步发送需要客户端实现异步发送回调接口(SendCallback)。即消息发送方在发送了一条消息后,不需要等待服务端响应接着发送第二条消息。发送方通过回调接口接收服务端响应,并处理响应结果。 参考如下
参数 说明 Group ID 选择待进行消费验证的消费组名称。 客户端 ID 选择待进行消费验证的客户端ID。 图1 消费验证 单击“确定”。 消息重新发送成功后,“消费验证”对话框顶部会显示“消费验证成功”,此时客户端中会收到重新发送的消息。 消费验证会导致消息重复消费。 父主题:
息发送方式分为同步发送和异步发送。 同步发送:消息发送方发出一条消息到服务端,服务端接收并处理消息,然后返回响应给发送方,发送方收到响应后才会发送下一条消息。 异步发送:消息发送方发出一条消息后,不等服务端返回响应,接着发送下一条消息。 以下示例仅介绍同步发送的示例代码。 收发普
异步发送是指消息发送方发出一条消息后,不等服务端返回响应,接着发送下一条消息的通讯方式。 使用异步发送需要客户端实现异步发送回调接口(SendCallback)。即消息发送方在发送了一条消息后,不需要等待服务端响应接着发送第二条消息。发送方通过回调接口接收服务端响应,并处理响应结果。 参考如下
表1 安全组规则(RocketMQ实例4.8.0版本) 方向 协议 端口 源地址 说明 入方向 TCP 8200 RocketMQ客户端所在的IP地址或地址段。 使用TCP协议,通过公网访问元数据节点的端口。 入方向 TCP 10101-10199 使用TCP协议,通过公网访问业务节点的端口。
RocketMQ实例支持的接入加密方式。 取值范围: SSL:服务端与客户端之间通过密文传输,安全性较高,性能较低。 PLAINTEXT:服务端与客户端之间通过明文传输,安全性较低,性能较高。 PERMISSIVE:服务端与客户端之间即能通过明文传输又能通过密文传输,传输方式由客户端决定。 请根据实际情况选择。 设置高级配置。
第三章~第七章介绍Java、Go和Python客户端访问分布式消息服务RocketMQ版的示例代码,具体如表1所示。 表1 示例代码 客户端语言 示例代码 Java(TCP协议) 收发普通消息 收发顺序消息 收发事务消息 发送定时消息 使用ACL权限访问 消费端限流 Java(gRPC协议) 收发普通消息
生产者(Producer) 消息写入的触发者,负责将消息推送到服务端。 生产者组(Producer Group) 同一类生产者的集合,这类生产者发送同一类消息且发送逻辑一致。 消费者(Consumer) 接收消息的对象,负责从服务端获取消息。 消费组(Consumer Group) 多个消
x版本支持gRPC协议,4.8.0版本不支持。 获取实例连接信息 实例连接地址和端口 实例创建后,从RocketMQ实例控制台的“基本信息”页面获取,在客户端配置时,可将地址都配上。 使用TCP协议通过内网连接RocketMQ实例时,获取“连接地址”。 使用gRPC协议通过内网连接RocketMQ实例时,获取“grpc连接地址”。
息时,需要鉴权。 约束与限制 仅2021年8月21号后购买的实例,支持设置ACL访问控制。 开启ACL访问控制会导致没有配置认证信息的客户端连接中断。 前提条件 已购买RocketMQ实例。 开启RocketMQ ACL访问 登录管理控制台。 在管理控制台左上角单击,选择区域。 请选择RocketMQ实例所在的区域。
念,请参考RocketMQ基本概念。 RocketMQ实例创建时,如果消费者客户端与生产者客户端无需通过密文传输,那么您可以关闭SSL。此时连接RocketMQ实例生产和消费消息的操作请参见使用客户端连接RocketMQ(关闭SSL)。 如果您需要创建多个用户并为其赋予不同的To
重启RocketMQ实例的Broker节点 分布式消息服务RocketMQ版控制台支持重启实例的某个Broker节点,或者所有Broker节点。 主节点重启过程中,客户端的生产和消费请求会被拒绝,持续时间不超过30s,建议在业务量少时重启节点。重启备节点,不会影响业务的使用。 怎么判断哪个是主节点? 一个Br
消息至服务端。当消息重新发送成功后,在服务端中就会存在两条内容相同的消息,最终消费者会消费到两条内容一样的重复消息。 消费者消费消息时发生消息重复: 消费者消费消息时,服务端将消息投递至消费者并完成业务处理。如果此时发生网络闪断,导致服务端未收到消费者的响应,此时服务端会认为消息
送事务回滚。服务端在一段时间后如果一直收不到提交或回滚,则发起回查,生产者在收到回查后重新发送事务提交或回滚。消息只有在提交之后才投递给消费者,消费者对回滚的消息不可见。 收发事务消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 约束与限制 客户端连接RocketMQ实例5