检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
RocketMQ最佳实践汇总 本文汇总了基于RocketMQ常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助用户轻松构建基于RocketMQ的业务。 表1 RocketMQ最佳实践一览表 最佳实践 说明 通过消息幂等实现消息去重 为了防止消息重复消费导致业务处理异常
通过消息幂等实现消息去重 方案概述 在RocketMQ的业务处理过程中,如果消息重发了多次,消费者端对该重复消息消费多次与消费一次的结果是相同的,多次消费并没有对业务产生负面影响,那么这个消息处理过程是幂等的。消息幂等保证了无论消息被重复投递多少次,最终的处理结果都是一致的,避免了因消息重复而对业务产生影响
自动续费 自动续费可以减少手动续费的管理成本,避免因忘记手动续费而导致RocketMQ实例被自动删除。自动续费的规则如下所述: 以RocketMQ实例的到期日计算第一次自动续费日期和计费周期。 RocketMQ实例自动续费周期根据您开通自动续费的途径不同,遵循不同的规则。 在RocketMQ
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于管理员创建IAM用户接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请求消息头
构造请求 本节介绍REST API请求的组成,并以调用IAM服务的管理员创建IAM用户来说明如何调用API。 您还可以通过这个视频教程了解如何构造请求调用API:https://bbs.huaweicloud.com/videos/102987。 请求URI 请求URI由如下部分组成
连接实例失败,报错RemotingTooMuchRequestException: sendDefaultImpl call timeout 问题现象 连接RocketMQ实例失败,报错“RemotingTooMuchRequestException: sendDefaultImpl
使用ACL权限访问 实例开启ACL访问控制后,消息生产者和消费者都需要增加用户认证信息。 准备环境 开源的Java客户端支持连接分布式消息服务RocketMQ版,推荐使用的客户端版本为4.9.8。 通过以下任意一种方式引入依赖: 使用Maven方式引入依赖。 <dependency
使用ACL权限访问 实例开启ACL访问控制后,消息生产者和消费者都需要增加用户认证信息。 生产者增加用户认证信息 普通消息、顺序消息和定时消息,参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换。 import ( "context" "fmt" "os"
使用ACL权限访问 实例开启ACL访问控制后,消息生产者和消费者都需要增加用户认证信息。 约束与限制 RocketMQ TCP协议的Python SDK只支持Linux系统。 生产者增加用户认证信息 普通消息、顺序消息和定时消息,参考如下代码。以下加粗内容需要替换为实例自有信息,请根据实际情况替换
获取账号名和账号ID 在调用接口的时候,部分URL中需要填入账号名和账号ID,所以需要先在管理控制台上获取到账号名和账号ID。账号名和账号ID获取步骤如下: 登录管理控制台。 鼠标悬停在右上角的用户名,选择下拉列表中的“我的凭证”。 查看账号名和账号ID。 图1 查看账号名和账号ID
计费模式概述 分布式消息服务RocketMQ版提供包年/包月和按需计费两种计费模式,以满足不同场景下的用户需求。 包年/包月:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。购买周期越长,享受的折扣越大。一般适用于业务需求量长期稳定的成熟业务。 按需计费:一种后付费模式
收集连接信息 约束与限制 仅RocketMQ实例5.x版本支持gRPC协议,4.8.0版本不支持。 获取实例连接信息 实例连接地址和端口 实例创建后,从RocketMQ实例控制台的“基本信息”页面获取,在客户端配置时,可将地址都配上。 使用TCP协议通过内网连接RocketMQ实例时
漏洞修复策略 漏洞修复周期 高危漏洞: RocketMQ社区发现漏洞并发布修复方案后,分布式消息服务RocketMQ版一般在1个月内进行修复,修复策略与社区保持一致。 操作系统紧急漏洞按照操作系统修复策略和流程对外发布,一般在一个月内提供修复方案,用户自行修复。 其他漏洞: 按照版本正常升级流程解决
收发普通消息 本章节介绍普通消息的收发方法和示例代码。普通消息发送方式分为同步发送和异步发送。 同步发送:消息发送方发出一条消息到服务端,服务端接收并处理消息,然后返回响应给发送方,发送方收到响应后才会发送下一条消息。 异步发送:消息发送方发出一条消息后,不等服务端返回响应,接着发送下一条消息
收发顺序消息 顺序消息是分布式消息服务RocketMQ版提供的一种严格按照顺序来发布和消费的消息类型。 顺序消息分为全局顺序消息和分区顺序消息: 全局顺序消息:对于指定的一个Topic,将队列数量设置为1,这个队列内所有消息按照严格的先入先出FIFO(First In First
约束与限制 本章主要为您介绍分布式消息服务RocketMQ版使用过程中的一些限制。 如果因为您的实例配置超过相应的约束和限制而导致的任何不稳定情况,不在SLA承诺和赔偿范围内。 实例 表1 实例约束与限制 限制项 约束与限制 版本 实例创建后,不支持变更版本。建议服务端版本和客户端版本保持一致
发送定时消息 分布式消息服务RocketMQ版支持任意时间的定时消息,最大推迟时间可达到1年。 定时消息即生产者生产消息到分布式消息服务RocketMQ版后,消息不会立即被消费,而是延迟到设定的时间点后才会发送给消费者进行消费。 发送定时消息前,请参考收集连接信息收集RocketMQ
收发事务消息 分布式消息服务RocketMQ版的事务消息支持在业务逻辑与发送消息之间提供事务保证,通过两阶段的方式提供对事务消息的支持,事务消息交互流程如图1所示。 图1 事务消息交互流程 事务消息生产者首先发送半消息,然后执行本地事务。如果执行成功,则发送事务提交,否则发送事务回滚
收发普通消息 本章节介绍普通消息的收发方法和示例代码。其中,普通消息发送方式分为同步发送和异步发送。RocketMQ提供PushConsumer和SimpleConsumer类型的消费者,PushConsumer消费者订阅普通消息时,代码不区分同步订阅和异步订阅。SimpleConsumer
认证鉴权 调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。推荐使用AK/SK认证,其安全性比Token认证要高。 Token认证:通过Token认证调用请求