检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
在单可用区或多可用区中部署实例 副本冗余 使用一主两备架构,备节点通过数据同步的方式保持数据一致。当网络发生异常或节点故障时,通过Raft协议自动切换主备关系,保持数据一致性。 - 数据持久化 业务系统日常运行中可能出现一些小概率的异常事件。部分可靠性要求非常高的业务系统,除了要求实例高
RocketMQ最佳实践汇总 本文汇总了基于RocketMQ常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助用户轻松构建基于RocketMQ的业务。 表1 RocketMQ最佳实践一览表 最佳实践 说明 通过消息幂等实现消息去重 为了防止消息重复消费导致业务处
选择算法,保证需要按顺序消费的消息被分配到同一个队列。 全局顺序消息和分区顺序消息的区别仅为队列数量不同,代码没有区别。 收发顺序消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 约束与限制 客户端连接RocketMQ实例5.x版本收发顺序消息前,需要确保Topic的消息类型为“顺序”。
异步发送是指消息发送方发出一条消息后,不等服务端返回响应,接着发送下一条消息的通讯方式。 使用异步发送需要客户端实现异步发送回调接口(SendCallback)。即消息发送方在发送了一条消息后,不需要等待服务端响应接着发送第二条消息。发送方通过回调接口接收服务端响应,并处理响应结果。 参考如
约束与限制 客户端连接RocketMQ实例5.x版本收发事务消息前,需要确保Topic的消息类型为“事务”。 RocketMQ TCP协议的Python SDK只支持Linux系统。 发送事务消息 参考如下示例代码(以下加粗内容需要替换为实例自有信息,请根据实际情况替换)。 import time
消息的通讯方式。 使用异步发送需要客户端实现异步发送回调接口(SendCallback)。即消息发送方在发送了一条消息后,不需要等待服务端响应接着发送第二条消息。发送方通过回调接口接收服务端响应,并处理响应结果。 参考如下示例代码(以下加粗内容需要替换为实例自有信息,请根据实际情况替换)。
2022年3月30日及以后购买的实例支持定时消息功能,在此之前购买的实例不支持此功能。 客户端连接RocketMQ实例5.x版本收发定时消息前,需要确保Topic的消息类型为“定时”。 RocketMQ TCP协议的Python SDK只支持Linux系统。 适用场景 定时消息适用于以下场景:
ON、CID_ONS-HTTP-PROXY、FILTERSRV_CONSUMER等。这些都是RocketMQ内置的,RocketMQ服务端需要使用这些内置的消费组实现一些特定的功能和机制。 父主题: 消费组问题
收发普通消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 约束与限制 客户端连接RocketMQ实例5.x版本收发普通消息前,需要确保Topic的消息类型为“普通”。 RocketMQ TCP协议的Python SDK只支持Linux系统。 准备环境 在命令行输入py
型、4KB消息大小为基准计算的每秒收发消息的总条数。如果消息类型为定时消息/延时消息/事务消息,发送消息的调用次数需要在普通消息基础上乘以5,接收消息的调用次数不需要乘以5。例如:每秒发送一条普通消息,TPS为1次/秒。每秒发送一条事务消息,TPS=1*5=5次/秒。 表2 实例
客户端连接RocketMQ实例5.x版本收发定时消息前,需要确保Topic的消息类型为“定时”。 适用场景 定时消息适用于以下场景: 消息对应的业务逻辑有时间窗口要求,如电商交易中超时未支付关闭订单的场景。在订单创建时发送一条定时消息,5分钟以后投递给消费者,消费者收到此消息后需要判断对应订单是否完成支付,如
约束与限制 仅RocketMQ实例5.x版本支持gRPC协议,4.8.0版本不支持。 客户端连接RocketMQ实例5.x版本收发事务消息前,需要确保Topic的消息类型为“事务”。 准备环境 开源的Java客户端支持连接分布式消息服务RocketMQ版,推荐使用的客户端版本为5.0
默认为postPaid。 is_auto_pay Boolean 下单订购后,是否自动从客户的账户中支付,而不需要客户手动去进行支付。 取值范围: true:是(自动支付) false:否(需要客户手动支付) 默认为手动支付。 period_type String 订购周期类型。 取值范围:
消息对应的业务逻辑有时间窗口要求,如电商交易中超时未支付关闭订单的场景。在订单创建时发送一条定时消息,5分钟以后投递给消费者,消费者收到此消息后需要判断对应订单是否完成支付,如果未完成支付,则关闭订单。如果已完成,则忽略。 通过消息触发定时任务的场景,如在某些固定时间点向用户发送提醒消息。
运维成本:使用分布式消息服务RocketMQ版过程中产生的人力成本。 图1 RocketMQ成本 华为云成本中心可以帮助您更高效地管理资源成本,但运维成本需要您自行识别、管理和优化。 成本分配 成本管理的基础是树立成本责任制,让各部门、各业务团队、各责任人参与进来,为各自消耗云服务产生的成本负责
代理(Broker) 一组节点构成的一个业务集群。 NameServer 存储元数据信息的轻量级注册中心。生产者/消费者在生产/消费消息前,需要先从NameServer获取元数据。
请联系技术支持。 500 DMS.00501011 Failed to query the product ID from CBC. 包周期实例变更时向cbc查询产品id失败。 请联系技术支持。 500 DMS.00501012 Smart Connect tasks exist. Smart
收发事务消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 约束与限制 客户端连接RocketMQ实例5.x版本收发事务消息前,需要确保Topic的消息类型为“事务”。 准备环境 开源的Java客户端支持连接分布式消息服务RocketMQ版,推荐使用的客户端版本为5.1
存中。如果消费者在启动消费时从最新的消息开始消费,则会直接从内存中获取消息进行消费。 当消费者不是从最新的消息开始消费时,RocketMQ需要从磁盘中读取历史消息保存到内存中,由此产生了冷读现象。如果有大量消费者触发冷读,使I/O压力飙升,可能会达到磁盘性能瓶颈,造成消费者拉取消
弹性高可靠:基于Raft协议实现集群内部节点的管理,及时发现故障节点并进行流量迁移,保证业务的连续性可靠。 动态扩展:提供业务集群动态扩容的能力,根据业务需要动态扩容集群规模。 便捷管理:提供监控告警、消息追踪和链路诊断等多样的监控定位手段,方便问题定位和日常维护。 多样功能:提供顺序延迟、定时