检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
本章节主要测试RocketMQ实例4.8.0版本不同产品规格在发送1KB大小的消息,且CPU使用率达到80%以上时,实例的网络入流量、网络出流量、消息生产速率、消息消费速率、CPU核均负载和内存使用率。 测试环境 进行测试前,您需要先构建如下的测试环境: 购买如表1所示实例,购买步骤请参考购买实例。
收发事务消息 分布式消息服务RocketMQ版的事务消息支持在业务逻辑与发送消息之间提供事务保证,通过两阶段的方式提供对事务消息的支持,事务消息交互流程如图1所示。 图1 事务消息交互流程 事务消息生产者首先发送半消息,然后执行本地事务。如果执行成功,则发送事务提交,否则发送事务
收发普通消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 约束与限制 客户端连接RocketMQ实例5.x版本收发普通消息前,需要确保Topic的消息类型为“普通”。 准备环境 开源的Java客户端支持连接分布式消息服务RocketMQ版,推荐使用的客户端版本为5.1.4。 通过以下任意一种方式引入依赖:
收发普通消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 准备环境 执行以下命令,检查是否已安装Go。 go version 返回如下回显时,说明Go已经安装。 go version go1.16.5 linux/amd64 如果未安装Go,请下载并安装。 进入Go脚本所在的bin目录下。 执行“touch
收发事务消息 分布式消息服务RocketMQ版的事务消息支持在业务逻辑与发送消息之间提供事务保证,通过两阶段的方式提供对事务消息的支持,事务消息交互流程如图1所示。 图1 事务消息交互流程 事务消息生产者首先发送半消息,然后执行本地事务。如果执行成功,则发送事务提交,否则发送事务
收发事务消息 分布式消息服务RocketMQ版的事务消息支持在业务逻辑与发送消息之间提供事务保证,通过两阶段的方式提供对事务消息的支持,事务消息交互流程如图1所示。 图1 事务消息交互流程 事务消息生产者首先发送半消息,然后执行本地事务。如果执行成功,则发送事务提交,否则发送事务
顺序消息是分布式消息服务RocketMQ版提供的一种严格按照顺序来发布和消费的消息类型。 顺序消息分为全局顺序消息和分区顺序消息: 全局顺序消息:对于指定的一个Topic,将队列数量设置为1,这个队列内所有消息按照严格的先入先出FIFO(First In First Out)的顺序进行发布和订阅。 分
顺序消息是分布式消息服务RocketMQ版提供的一种严格按照顺序来发布和消费的消息类型。 顺序消息分为全局顺序消息和分区顺序消息: 全局顺序消息:对于指定的一个Topic,将队列数量设置为1,这个队列内所有消息按照严格的先入先出FIFO(First In First Out)的顺序进行发布和订阅。 分
顺序消息是分布式消息服务RocketMQ版提供的一种严格按照顺序来发布和消费的消息类型。 顺序消息分为全局顺序消息和分区顺序消息: 全局顺序消息:对于指定的一个Topic,将队列数量设置为1,这个队列内所有消息按照严格的先入先出FIFO(First In First Out)的顺序进行发布和订阅。 分
顺序消息是分布式消息服务RocketMQ版提供的一种严格按照顺序来发布和消费的消息类型。 顺序消息分为全局顺序消息和分区顺序消息: 全局顺序消息:对于指定的一个Topic,将队列数量设置为1,这个队列内所有消息按照严格的先入先出FIFO(First In First Out)的顺序进行发布和订阅。 分
此处最大线程数的计算模型是在理想环境下得到的,在实际应用中建议逐步调大线程数,在观察效果后再进行调整。 实施方法 为了避免在实际业务中出现非预期的消息堆积问题,需要在业务系统的设计阶段梳理业务逻辑的消费耗时和设置消费并发度。 梳理消费耗时 通过压测获取消息的消费耗时,并对耗时较高的操作代
RocketMQ提供基于云监控服务CES的资源和操作监控能力,帮助用户对每个RocketMQ实例进行自动实时监控、告警和通知操作。用户可以实时掌握实例的各类业务请求、资源占用、流量、连接数和消息积压等关键信息。 关于DMS for RocketMQ支持的监控指标,以及如何创建监控告警规则等内容,请参见支持的监控指标。
upName", rpcHook); ACL_User_Name为用户名,ACL_Secret_Key为用户的密钥。创建用户的步骤,请参见创建用户。为了确保用户名和密钥的安全性,建议对用户名和密钥进行加密处理。 消费者增加用户认证信息 消费者初始化时需要增加“rpcHook”参数
第二章介绍如何获取RocketMQ实例连接信息。 第三章~第七章介绍Java、Go和Python客户端访问分布式消息服务RocketMQ版的示例代码,具体如表1所示。 表1 示例代码 客户端语言 示例代码 Java(TCP协议) 收发普通消息 收发顺序消息 收发事务消息 发送定时消息
置过多或不足的风险。一般适用于电商抢购等业务需求量瞬间大幅波动的场景。 表1列出了两种计费模式的区别。 表1 计费模式 计费模式 包年/包月 按需计费 付费方式 预付费 按照订单的购买周期结算。 后付费 按照RocketMQ实例实际使用时长计费。 计费周期 按订单的购买周期计费。
备节点分别创建在不同的物理机上。 多可用区 多可用区部署的前提需要满足该区域下有3个及3个以上的可用区选项,如图2所示。 图2 选择可用区 实例选择多可用区部署时,实例下的组件分别部署在三个不同的可用区内,可实现跨可用区容灾部署能力。 NameServer的2个节点分别部署在两个可用区中。
有效保持代码的清晰度和连贯性,并优化RocketMQ提供的查询系统。消费者可以根据Tag实现对不同Topic的不同消费逻辑,实现更好的扩展性。 Topic是消息的一级分类,Tag是消息的二级分类,关系如下图。 应用场景 在实际业务中,通过合理使用Topic和Tag,可以使业务结构
实例在账单中显示的产品名称为“分布式消息服务专享版”,如图1所示。 包年/包月、按需计费 实例规格单价 * 购买时长 实例规格单价请参见分布式消息服务RocketMQ版价格详情中的“实例价格”。 存储空间费用 计费因子:云硬盘类型、容量 说明: 存储空间在账单中显示的产品名称为“分
x版本支持流控。 出现如下两种情况会触发流控: 短时间内生产、消费消息请求数量过多。 秒级突发流量过大时,可能出现该秒请求被流控。 监控数据采集的是一分钟内平均TPS,不是秒级监控。 当请求被流控时,会导致生产消息请求失败,且服务端返回215错误码。为避免出现流控情况,请确保生产、消费TPS在给定实例规格内。
已被处理过的消息,最终消费者会消费到两条内容一样的重复消息。 实施方法 从上面的消费重复场景可以看到,不同Message ID的消息可能有相同的消息内容,因此Message ID无法作为消息的唯一标识符。RocketMQ可以为消息设置Key,把业务的唯一标识作为消息的唯一标识,从