云主机开年特惠28.8元/年,0元秒杀等你来抢!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 天翼云新春焕新季 NEW 云主机开年特惠28.8元/年,0元秒杀等你来抢!
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 中小企业服务商合作专区 国家云助力中小企业腾飞,高额上云补贴重磅上线
  • 出海产品促销专区 NEW 爆款云主机低至2折,高性价比,不限新老速来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
  • MCP市场
公共算力服务
  • 裸金属
  • 定制裸金属
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
模型推理服务
  • 模型广场
  • 体验中心
  • 服务接入
应用托管
  • 应用实例
科研助手
  • 科研智能体
  • 科研服务
  • 开发机
  • 并行计算
大模型
  • DeepSeek-V3.1
  • DeepSeek-R1-0528
  • DeepSeek-V3-0324
  • Qwen3-235B-A22B
  • Qwen3-32B
智算一体机
  • 智算一体机
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场进入AI Store创新解决方案公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 安全邮箱
  • WPS 365 天翼云版
  • 天翼企业云盘(标准服务版)
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
开源社区
  • 魔乐社区
  • OpenTeleDB

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      消息队列RocketMQ版_相关内容
      • 收发顺序消息
        顺序消息是分布式消息服务RocketMQ版提供的一种严格按照顺序来发布和消费的消息类型。 顺序消息分为全局顺序消息和分区顺序消息: 全局顺序消息:对于指定的一个Topic,将队列数量设置为1,这个队列内所有消息按照严格的先入先出FIFO(First In First Out)的顺序进行发布和订阅。 分区顺序消息:对于指定的一个Topic,同一个队列内的消息按照严格的FIFO顺序进行发布和订阅。生产者指定分区选择算法,保证需要按顺序消费的消息被分配到同一个队列。 全局顺序消息和分区顺序消息的区别仅为队列数量不同,代码没有区别。 收发消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 准备环境 开源的Java客户端支持连接分布式消息服务RocketMQ版,推荐使用的客户端版本为4.9.7。 通过以下任意一种方式引入依赖: 1. 使用Maven方式引入依赖。 org.apache.rocketmq rocketmqclient 4.9.7 org.apache.rocketmq rocketmqacl 4.9.7 2. 点击下载依赖JAR包:rocketmqall4.9.7binrelease.zip 发送顺序消息 参考如下示例代码 import org.apache.rocketmq.acl.common.AclClientRPCHook; import org.apache.rocketmq.acl.common.SessionCredentials; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.common.message.Message; import org.apache.rocketmq.remoting.RPCHook; import org.apache.rocketmq.remoting.common.RemotingHelper; public class ProducerFifoExample { private static RPCHook getAclRPCHook() { return new AclClientRPCHook(new SessionCredentials( "accessKey", // 分布式消息服务RocketMQ控制台用户管理菜单中创建的用户ID "accessSecret" // 分布式消息服务RocketMQ控制台用户管理菜单中创建的密钥 )); } public static void main(String[] args) throws Exception { / 创建Producer,如果想开启消息轨迹,可以按照如下方式创建: DefaultMQProducer producer new DefaultMQProducer("YOUR GROUP ID", getAclRPCHook(), true, null); / DefaultMQProducer producer new DefaultMQProducer("YOUR GROUP ID", getAclRPCHook()); // 填入控制台NAMESRV接入点地址 producer.setNamesrvAddr("XXX:xxx"); ; // 如果需要开启SSL,请增加此行代码 producer.start(); for (int i 0; i { // 选择适合自己的分区选择算法,保证同一个参数得到的结果相同。 Integer id (Integer) arg; int index id % mqs.size(); return mqs.get(index); }, orderId); System.out.printf("%s%n", sendResult); } catch (Exception e) { e.printStackTrace(); } } producer.shutdown(); } } 注意 上述代码中,相同id的消息需要保证顺序,不同id的消息不需要保证顺序,所以在分区选择算法中以“id/队列个数的余数”作为消息发送的队列。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        开发指南
        Java
        收发顺序消息
      • 收发顺序消息
        顺序消息是分布式消息服务RocketMQ版提供的一种严格按照顺序来发布和消费的消息类型。 顺序消息分为全局顺序消息和分区顺序消息: 全局顺序消息:对于指定的一个Topic,将队列数量设置为1,这个队列内所有消息按照严格的先入先出FIFO(First In First Out)的顺序进行发布和订阅。 分区顺序消息:对于指定的一个Topic,同一个队列内的消息按照严格的FIFO顺序进行发布和订阅。生产者指定分区选择算法,保证需要按顺序消费的消息被分配到同一个队列。 全局顺序消息和分区顺序消息的区别仅为队列数量不同,代码没有区别。 收发消息前,请参考收集连接信息收集RocketMQ所需的连接信息。 准备环境 1. 在命令行输入python,检查是否已安装Python。得到如下回显,说明Python已安装。 PS C:> python Python 3.9.9 (tags/v3.9.9:ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. 如果未安装Python,请使用以下命令安装: pip install rocketmqclientpython 2. 安装librocketmq库和rocketmqclientpython。 说明 建议下载rocketmqclientcpp2.2.0,获取librocketmq库。 3. 将librocketmq.so添加到系统动态库搜索路径。 1. 查找librocketmq.so的路径。 find / name librocketmq.so 2. 将librocketmq.so添加到系统动态库搜索路径。 ln s /查找到的librocketmq.so路径/librocketmq.so /usr/lib sudo ldconfig 以下示例代码中的参数说明如下,请参考收集连接信息获取参数值。 GROUP:表示消费组名称。 ENDPOINT:表示实例连接地址和端口。 TOPIC:表示Topic名称。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        开发指南
        Python
        收发顺序消息
      • RocketMQ业务迁移
        本章节介绍了如何讲其他厂商或自建的业务迁移到分布式消息服务RocketMQ的实践方案。 操作场景 RocketMQ业务迁移是指将其他厂商或者自建的RocketMQ迁移到天翼云分布式消息服务RocketMQ。 前提条件 1. 配置网络环境 分布式消息服务RocketMQ实例分VPC内以及公网地址两种网络连接方式。如果使用公网地址,则消息生产与消费客户端需要有公网访问权限,并配置如下安全组。 表1 安全组规则 方向 协议 端口 源地址 说明 入方向 TCP 8200 0.0.0.0/0 公网访问元数据节点的端口 入方向 TCP 1010010199 0.0.0.0/0 访问业务节点的端口 2. 购买分布式消息服务RocketMQ实例 具体请参考购买RocketMQ实例。 操作步骤 1. 迁移元数据至分布式消息服务RocketMQ实例。 1. 获取其他厂商或自建RocketMQ实例的元数据。 2. 登录主机,下载RocketMQ软件包。 wget i < 1. 解压软件包。 unzip rocketmqall4.9.4binrelease.zip 1. (可选)如果RocketMQ实例开启了ACL访问控制,执行mqadmin命令时,需要鉴权。切换到解压后的软件包目录下,在“conf/tools.yml”文件中,增加如下内容。 accessKey: secretKey: accessKey和secretKey表示在控制台“用户管理”页面,创建的用户名和密钥。 1. 进入解压后的软件包目录下,执行以下命令,查询集群名称。sh ./bin/mqadmin clusterList n {nameserver地址及端口号}例如:“nameserver地址及端口号”为“192.168.0.65:8100”。 2. sh ./bin/mqadmin clusterList n 192.168.0.65:8100执行以下命令,导出元数据。未开启SSL的实例,执行以下命令。sh ./bin/mqadmin exportMetadata n {nameserver地址及端口号} c {RocketMQ集群名称} f {导出的元数据文件的存放路径}例如:“nameserver地址及端口号”为“192.168.0.65:8100”,“RocketMQ集群名称”为“DmsCluster”,“导出的元数据文件的存放路径”为“/tmp/rocketmq/export”。 1. sh ./bin/mqadmin exportMetadata n 192.168.0.65:8100 c DmsCluster f /tmp/rocketmq/export已开启SSL的实例,执行以下命令。JAVAOPTDtls.enabletrue sh ./bin/mqadmin exportMetadata n {nameserver地址及端口号} c {RocketMQ集群名称} f {导出的元数据文件的存放路径}例如:“nameserver地址及端口号”为“192.168.0.65:8100”,“RocketMQ集群名称”为“DmsCluster”,“导出的元数据文件的存放路径”为“/tmp/rocketmq/export”。 3. JAVAOPTDtls.enabletrue sh ./bin/mqadmin exportMetadata n 192.168.0.65:8100 c DmsCluster f /tmp/rocketmq/export在控制台迁移元数据。登录控制台。 4. 单击RocketMQ实例的名称,进入实例详情页面。 5. 在左侧导航栏,选择“元数据迁移”,进入迁移任务列表页面。 6. 单击“创建迁移任务”,弹出“创建迁移任务”对话框。 参考,设置迁移任务的参数。 参数 说明 任务名称 您可以自定义迁移任务的名称,用于区分不同的迁移任务。 是否同名覆盖 如果开启同名覆盖,会对已有的同名元数据的配置进行修改。例如:原实例Topic01的读队列个数为3,云上实例Topic01的读队列个数为2,开启同名覆盖后,云上实例Topic01的读队列个数变为3。如果不开启同名覆盖,同名元数据的迁移将失败。例如:原实例的Topic包含Topic01和Topic02,云上实例的Topic包含Topic01和Topic03,不开启同名覆盖,原实例Topic01的迁移将失败。 元数据 上传。 1. 单击“确定”。迁移完成后,在迁移任务列表页面查看“任务状态”。 1. 当“任务状态”为“迁移完成”,表示所有元数据都已成功迁移。 2. 当“任务状态”为“迁移失败”,表示元数据中部分或全部元数据迁移失败。单击迁移任务名称,进入迁移任务详情页,在“迁移结果”中查看迁移失败的Topic/消费组名称,以及失败原因。 2. 迁移生产消息至分布式消息服务RocketMQ版实例。将生产客户端的元数据连接地址改为分布式消息服务RocketMQ版实例的元数据连接地址,重启生产业务,使得生产者将新的消息发送到分布式消息服务RocketMQ版实例中。 3. 迁移消费消息至分布式消息服务RocketMQ版实例。待消费组中的消息消费完之后,将消费客户端的元数据连接地址改为分布式消息服务RocketMQ版实例的元数据连接地址,重启消费业务,使得消费者从分布式消息服务RocketMQ版实例中消费消息。 4. 如果有多个RocketMQ实例需要迁移到同一个分布式消息服务RocketMQ版实例中,请依次进行迁移
        来自:
        帮助文档
        分布式消息服务RocketMQ
        最佳实践
        RocketMQ业务迁移
      • 功能特性
        消息重试 对于有序消息:有序消息不能跳跃签收,当消费者消费消息失败后,消息队列RocketMQ会自动不断进行消息重试 (每次间隔时间为1秒),此时应用会出现消息消费被阻塞的情况。因此建议使用有序消息时,务必保证应用能够及时监控并处理消费失败的情况,避免阻塞现象的发生。 对于无序消息:消息队列RocketMQ默认允许每条消息最多重试16次。 每次重试的间隔时间如下: 第几次重试 与上次重试的间隔时间 1 10秒 2 30秒 3 1分钟 4 2分钟 5 3分钟 6 4分钟 7 5分钟 8 6分钟 9 7分钟 10 8分钟 11 9分钟 12 10分钟 13 20分钟 14 30分钟 15 1小时 16 2小时 如果消息重试16次后仍然失败,消息将不再投递。如果严格按照上述重试时间间隔计算,某条消息在一直消费失败的前提下,将会在接下来的4小时46分钟之内进行16次重试,超过这个时间范围消息将不再重试投递。 消息过滤 消费者订阅了某个Topic后,消息队列RocketMQ会将该主题中的所有消息投递给消费者。若消费者只需要关注部分消息,可通过设置过滤条件在消息队列RocketMQ版服务端进行过滤,只获取到需要关注的消息子集,避免接收到大量无效的消息。 消息过滤主要通过以下几个关键流程实现: 生产者:生产者在初始化消息时预先为消息设置一些属性和标签,用于后续消费时指定过滤目标。 消费者:消费者在初始化及后续消费流程中向服务端上报需要订阅指定主题的哪些消息,即过滤条件。 服务端:消息队列RocketMQ服务端根据消费者上报的过滤条件的表达式进行匹配,将符合条件的消息投递给消费者进行消费。 消息队列RocketMQ支持两种过滤方式: 通过Tag进行过滤:生产者在发送消息时,设置消息的Tag标签,消费者通过 Tag标签指定需要消费的信息。 通过SQL属性过滤:通过生产者为消息设置的属性(Key)及属性值(Value)进行匹配。生产者在发送消息时可设置多个属性,消费者订阅时可设置SQL语法的过滤表达式过滤多个属性。
        来自:
      • 计费项
        本文对分布式消息服务RocketMQ的计费项进行说明。 4.0版本 以下适用于华东1、华北2、西南1、华南2、上海36、青岛20、长沙42、南昌5、武汉41、杭州7、西南2贵州、太原4、郑州5、西安7、呼和浩特3 节点。 分布式消息服务RocketMQ费用计算分为两部分,一部分为实例费用,一部分为存储空间费用。 计费项 含义 适用的计费模式 实例费用 用户选择的选择的实例规格节点数计费,实例规格单价请参考产品资费,节点数为Name Server集群固定3节点+Broker(代理) 2节点。 按需/包周期 存储空间费用 用户选择的实例存储空间计费(每个实例规格您都可以选择高IO、超高IO等多种不同的云硬盘类型以满足您的业务需求)。 按需/包周期 3.0版本 以下适用于南京3、上海7、重庆2、乌鲁木齐27、石家庄20、内蒙6、晋中、北京5 节点。 分布式消息服务RocketMQ按照消息队列的规格版本可分为基础版、中级版和高级版。 计费项:消息队列的规格版本。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        计费说明
        计费项
      • 消息层配置
        配置项 描述 示例 消息队列名称 消息队列自定义标识。 商城北京消息队列 站点 消息队列部署所在站点。 北京站点 产品类型 消息队列技术类型: RocketMQ RocketMQ 实例类型 消息队列产品类型。 云实例 消息队列实例 消息队列对应的云实例ID。 RocketMQ810
        来自:
        帮助文档
        应用高可用
        用户指南
        应用容灾多活
        资源管理
        消息层配置
      • 产品定义
        开源对比 相较于开源自建RocketMQ,分布式消息服务RocketMQ在自动化部署、运维监控、增强能力、延迟消息/定时消息、ACL访问控制等方面更具优势。更多信息请参见开源对比。 支持的消息类型 分布式消息服务RocketMQ支持的消息类型包括普通消息、顺序消息、事务消息与延时消息。 普通消息:RocketMQ中无特性的消息,普通消息主要包含同步消息和异步消息两种。 顺序消息:指消费消息的顺序要同发送消息的顺序一致,在RocketMQ中,主要有两种有序消息:全局有序消息和局部有序消息(又叫普通有序消息、分区有序消息)。 事务消息:提供类似X/Open XA的分布式事务功能来确保业务发送方和MQ消息的最终一致性,其本质是通过半消息(prepare消息和commit消息)的方式把分布式事务放在MQ端来处理。 延时消息:生产者将消息发送到消息队列RocketMQ服务端,设计消费时延,在预设的时间后才可以被消费者消费。 更多信息请参见功能特性。 功能特性 分布式消息服务RocketMQ的功能特性主要体现在以下几个方面: 访问接口 支持通过API调用,创建队列、查询消息监控指标、查询消息内容等。 队列能力 支持多种消息类型,包括普通队列(高并发场景)、FIFO有序队列(顺序消息场景)、严格有序队列。 消息能力 支持消息过滤、消息复用、消息重试、消息回溯、消息数据主动删除以及消息广播等能力。 安全防护 提供云审计进行租户管理操作的记录。 运维监控 提供主题、订阅组、生产者、消费者、队列的管理;同时支持集群、主题、队列多维度指标监控。 更多信息请参见功能特性。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        产品简介
        产品定义
      • RocketMQ C++ SDK
        收取普通消息 include include include "rocketmq/DefaultMQPushConsumer.h" using namespace rocketmq; class ConcurrentMessageListener : public MessageListenerConcurrently { public: ConsumeStatus consumeMessage(const std::vector &msgs) { for (auto item msgs.begin(); item ! msgs.end(); item++) { std::cout getTopic() getMsgId() setNamesrvAddr("your access point"); consumer>setSessionCredentials("ak", "sk"); ConcurrentMessageListener messageListener new ConcurrentMessageListener(); consumer>subscribe("topicname", "tag"); consumer>registerMessageListener(messageListener); consumer>start(); std::thisthread::sleepfor(std::chrono::seconds(60)); consumer>shutdown(); return 0; } 使用C++客户端收发顺序消息 简介 顺序消息分为两类,全局顺序消息和分区顺序消息,通过队列数区分。 全局顺序: 对于指定的一个 Topic,所有消息的生产和消费需要遵循一定的顺序,消息的消费顺序必须和生产顺序一致,即需要严格的先入先出 FIFO的顺序进行发布和消费。 分区顺序: 对于指定的一个 Topic,其中每一个分区的消息生产与消费是有序的,同一个队列内的消息按照严格的 FIFO 顺序进行发布和订阅。消息投递到哪一个分区由消息的 Sharding Key 来进行区分。在 SDK 中可以通过指定 Sharding Key 和回调函数来控制消息投递到哪个分区。 发送顺序消息 include include include include "rocketmq/DefaultMQProducer.h" using namespace std; using namespace rocketmq; class DefineSelectMessageQueue : public MessageQueueSelector { public: MQMessageQueue select(const std::vector &mqs, const MQMessage &msg, void arg) { //若希望全局有序,请修改对应index int orderId staticcast (arg); int index orderId % mqs.size(); return mqs[index]; } }; int main(){ DefaultMQProducer producer("groupname"); //填写分布式消息服务RocketMQ版的接入点 producer.setNamesrvAddr("your access point"); //填写分布式消息服务RocketMQ版的ak、sk producer.setSessionCredentials("ak", "sk", "channel"); producer.start(); DefineSelectMessageQueue queueSelector new DefineSelectMessageQueue(); int count 64; for (int i 0; i < count; ++i) { MQMessage msg("youtopicname", "TAG", "msg content"); try { SendResult sendResult producer.send(msg, queueSelector, &i, 3, false); std::cout << "SendResult:" << sendResult.getSendStatus() << ", Message ID: " << sendResult.getMsgId() << std::endl; thisthread::sleepfor(chrono::seconds(1)); } catch (MQException e) { std::cout << "ErrorCode: " << e.GetError() << " Exception:" << e.what() << std::endl; } } std::cout << "Send " << count << " messages OK, costs" << std::endl; producer.shutdown(); return 0; }
        来自:
        帮助文档
        分布式消息服务RocketMQ
        SDK参考
        RocketMQ C++ SDK
      • 产品优势
        灵活及时 队列处理能力支持按需自动扩展,及时且方便地完成系统扩展,消息投递时间可至毫秒级,从而保证消息及时性。分布式消息服务RocketMQ具有很高的灵活性,可以满足各种不同的业务需求。主要体现: 支持多种消息模型:RocketMQ支持多种消息模型,包括消息队列模型和发布/订阅模型。在消息队列模型中,消息发送方将消息发送到一个队列,消息接收方从队列中读取消息。这种模型适用于顺序消息和事务性消息等场景。而在发布/订阅模型中,消息发送方将消息发布到一个主题,所有订阅该主题的消费者都会收到消息。这种模型适用于实时通知、数据分发等场景。 支持灵活的消息过滤机制:RocketMQ可以通过对消息的属性进行过滤,只有满足条件的消息才会被消费者接收。这样可以实现消息的动态路由和选择性消费,提升系统的灵活性和效率。 支持消息延迟发送和定时消费:RocketMQ可以设置消息的延迟时间,使消息在指定的时间后才能被消费者接收。这对于实现定时任务和延迟处理非常有用。 良好的可扩展性:RocketMQ采用了分布式架构,并且支持主从复制和消息分区机制。可以根据业务需求,动态扩展消息生产者、消息消费者和消息存储节点的数量,以满足大规模消息处理和高并发访问的要求。 高可靠 集群节点采用主备模式,具有主备故障自动切换功能;并且提供对消息的持久化能力,多副本冗余;提供消息数据自动删除功能。分布式消息服务RocketMQ具有高可靠性的特点,以下是RocketMQ实现高可靠性的关键特性: 主从复制:RocketMQ采用了主从复制的架构,在生产者发送消息时,消息会首先写入主节点,并异步复制到多个从节点。这样即使主节点发生故障,从节点也能够接管并继续提供服务。 可靠消息存储:RocketMQ使用Write Ahead Log (WAL)技术来保证消息的可靠存储。在消息写入之前,会先将消息写入磁盘的顺序文件中,然后再写入内存。当RocketMQ重启时,可以通过检查磁盘上的文件来恢复之前未被消费的消息。 消息可重复存储:RocketMQ使用消息的唯一ID来确保消息的幂等性。如果一条消息因为网络问题或其他原因发送失败,RocketMQ可以根据消息的ID判断是否已经成功发送过,并避免消息的重复发送。 容灾备份:RocketMQ支持Broker集群模式和多数据中心的部署方式,可以将消息数据进行容灾备份。当某个Broker节点发生故障时,其他节点可以继续提供服务,确保系统的可用性。 高可用性设计:RocketMQ采用了多个Broker节点组成的集群,并通过主从复制和故障切换来实现高可用性。当某个Broker节点发生故障时,其他节点会自动接管其工作,保证消息的正常处理。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        产品简介
        产品优势
      • 管理死信队列
        导出死信消息 1. 登录分布式消息服务RocketMQ控制台。 2. 单击RocketMQ实例的名称,进入实例详情页面。 3. 在左侧导航栏,单击“死信队列”,进入“死信队列”页面。 4. 在待导出的死信消息所在行,单击“导出消息”。 导出JSON格式的文件。 说明:如果需要批量导出死信消息,勾选待导出的多条死信消息,单击“批量导出消息”。 导出的消息字段说明如表1所示。 表1 消息字段说明 消息字段 字段说明 msgid 消息ID。 instanceid 实例ID。 topic Topic名称。 storetimestamp 存储消息的时间。 borntimestamp 产生消息的时间。 reconsumetimes 重试次数。 body 消息体。 bodycrc 消息体校验和。 storesize 存储大小。 propertylist 消息属性列表。lname:属性名称。lvalue:属性值。 bornhost 产生消息的主机IP。 storehost 存储消息的主机IP。 queueid 队列ID。 queueoffset 在队列中的偏移量。 重新投递死信消息 死信消息由于某些原因无法正常被消费者消费,请排查相关原因并解决,然后在控制台重新投递死信消息给消费者消费。 1. 登录分布式消息服务RocketMQ控制台。 2. 单击RocketMQ实例的名称,进入实例详情页面。 3. 在左侧导航栏,单击“死信队列”,进入“死信队列”页面。 4. 选择以下任意一种方法重新投递死信消息。 在待重新投递的死信消息所在行,单击“重投”。 如需批量重新投递死信消息,勾选待重新投递的死信消息,单击“批量重投”。 须知: 死信消息重新投递成功后,此死信消息依然存在死信队列中,不会被删除。避免多次重复投递,造成重复消费。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        用户指南
        管理死信队列
      • 支持的监控指标
        指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) topicproducemsg 消息生产数 Topic一分钟收到的消息数单位:Count >0 RocketMQ实例队列 1分钟 topicconsumemsg 消息消费数 Topic一分钟被消费的消息数单位:Count >0 RocketMQ实例队列 1分钟 topicproducerate 消息生产速率 Topic每秒收到的消息数单位:Count/s >0 RocketMQ实例队列 1分钟 topicconsumerate 消息消费速率 Topic每秒被消费的消息数单位:Count/s >0 RocketMQ实例队列 1分钟 topicbytesinrate 生产流量 当前主题的生产流量单位:Byte/s说明:2022年5月16号及以后购买的实例,支持此监控项。 >0 RocketMQ实例队列 1分钟 topicbytesoutrate 消费流量 当前主题的消费流量单位:Byte/s说明:2022年5月16号及以后购买的实例,支持此监控项。 >0 RocketMQ实例队列 1分钟
        来自:
        帮助文档
        分布式消息服务RocketMQ
        用户指南
        监控
        支持的监控指标
      • 查看Topic
        Topic详情 展示当前Topic的统计指标、队列分布信息、消费组、生产组的情况。 1、队列信息 2、消费组 标识正在连接该topic的消费组列表。 消费方式分为两种: CONSUMEPASSIVELY为push消费模式 CONSUMEACTIVELY为pull消费模式 路由 展示topic的队列分布情况,队列分布在哪些broker上 RocketMQ的队列分布情况是根据Broker的配置和主题的配置来确定的。在RocketMQ中,每个主题可以有多个队列,每个队列可以有多个Broker来提供服务。 队列的分布情况可以通过以下几个因素来确定: Broker的配置:在RocketMQ中,每个Broker都有一个唯一的名称,可以通过名称来识别和配置Broker。当创建主题时,可以指定消息队列的数量和分布策略。分布策略可以是固定的,也可以是根据一定规则动态分配的。 主题的配置:在创建主题时,可以指定队列的数量和分布策略。分布策略可以是按照固定数量进行分配,也可以是根据一定规则进行动态分配。例如,可以将消息队列均匀地分布在不同的Broker上,也可以根据消息的属性将消息路由到不同的队列。 负载均衡策略:RocketMQ提供了多种负载均衡策略,用于在Broker集群中均衡地分布消息队列。负载均衡策略可以根据Broker的负载情况、网络延迟等因素来进行动态调整,以确保消息队列的均衡分布和高效处理。 总的来说,RocketMQ的队列分布情况是根据Broker的配置、主题的配置和负载均衡策略来确定的。通过合理的配置和使用负载均衡策略,可以实现消息队列的均衡分布和高效处理,提高消息系统的性能和可扩展性。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        用户指南
        Topic管理
        查看Topic
      • 名词解释
        本文介绍了使用分布式消息服务RocketMQ过程中涉及的基本概念,方便您查询和了解相关概念。 Broker 消息中转角色,负责存储消息,转发消息,一般也称Server。在 JMS规范中称为Provider。RocketMQ一般在多个服务器部署Broker集群,从而达到分布式、高可用、可横向扩展的目的。 Nameserver Nameserver是一个几乎无状态节点,可集群部署,节点之间无同步信息。它主要提供Broker注册、Topic路由管理等功能。 Topic 在RocketMQ中,Topic类似于JMS规范中的队列,所有消息都是存放在不同的Topic中,生产者与消费者都以Topic名字进行生产与消费。(注:RocketMQ的Topic并不是JMS规范中广播消费Topic的概念)。 一个Topic可以存在多个Broker之中,这样Topic就可以分布在不同的Broker从而达到分布式的目的。 一个Topic下面,可以有多个队列,可以理解成分区,Topic的消息是放在不同队列下的。 Queue 在RocketMQ中,Queue是存放数据的最小单位,Queue是存在于Topic下面的。在RocketMQ中,Queue不同于JMS规范中的队列,可以理解为Topic的分区。 生产组 一类Producer的集合名称,这类Producer通常发送一类消息,且发送逻辑一致,一般由业务系统负责产生消息。 消费组 一类Consumer的集合名称,这类Consumer通常消费一类消息,且消费逻辑一致,一般是后台系统负责异步消费。消费进度由存储在消费组上。 消费者实例 一个消费者实例代表消费组的一员,不同的消费者用不同的实例名字创建。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        产品简介
        名词解释
      • 安全方案
        介绍分布式消息服务RocketMQ的安全方案,包括支持TLS传输加密、权限控制、Topic资源访问权限控制等内容。 安全价值 RocketMQ的安全对用户有以下几个重要价值: 1. 保护数据安全:RocketMQ的安全机制可以保护消息的机密性和完整性,防止敏感数据泄露或被篡改。这对于处理包含个人信息、商业机密等敏感数据的应用程序非常重要。 2. 防止未经授权的访问:RocketMQ的访问控制功能可以限制对消息队列的访问权限,只有具有相应权限的用户才能发送和消费消息。这可以防止未经授权的用户访问和操作消息队列,保护系统的安全性。 3. 合规性要求:对于一些行业和法规要求较高的场景,如金融、医疗等,RocketMQ的安全特性可以帮助用户满足合规性要求,确保数据的安全和合规性。 4. 提供安全审计功能:RocketMQ的安全审计功能可以记录和追踪对消息队列的操作,包括发送、消费、订阅等。这可以帮助用户监控和检测潜在的安全风险,及时发现和应对安全事件。 5. 增强用户信任:通过提供安全性能和功能,RocketMQ可以增强用户对系统的信任感。用户可以放心地使用RocketMQ来处理重要的消息传输和处理任务,而不必担心数据的安全问题。 综上所述,RocketMQ的安全性对用户来说具有重要的价值,可以保护数据安全,防止未经授权的访问,满足合规性要求,提供安全审计功能,并增强用户对系统的信任感。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        产品简介
        安全方案
      • RocketMQ触发器
        配置项 操作说明 示例 触发器类型 选择RocketMQ触发器。 RocketMQ触发器 名称 填写自定义的触发器名称。 rocketmqtrigger 版本或别名 默认值为LATEST,支持选择任意函数版本或函数别名。 LATEST RocketMQ 实例 选择已创建的RocketMQ实例。 Topic 选择已创建的RocketMQ实例的Topic。 Group ID 选择已创建的RocketMQ实例的Group ID。 消费位点 选择消息的消费位点,即触发器从RocketMQ实例开始拉取消息的位置。取值说明如下。 最新位点:从最新位点开始消费。 最早位点:从最早位点开始消费。 指定时间戳:从指定时间戳开始消费。 最新位点 调用方式 选择函数调用方式。 同步调用:指触发器消费topic消息后投递到函数是同步调用,会等待函数响应后继续下一个消息投递。 异步调用:指触发器消费topic消息后投递到函数是异步调用,不会等待函数响应,可以快速消费事件。 同步调用 用户ID RocketMQ实例用户ID,需要在RocketMQ控制台创建。 密钥 RocketMQ实例用户密钥,需要在RocketMQ控制台创建。 触发器启用状态 创建触发器后是否立即启用。默认选择开启,即创建触发器后立即启用触发器。 推送配置 批量推送条数:批量推送的最大值,积压值达到后立刻推送,取值范围为 [1, 10000]。 批量推送间隔:批量推送的最大时间间隔,达到后立刻推送,单位秒,取值[0,15]。默认0无需等待,数据直接推送。 推送格式:函数收到的事件格式,详情请查阅触发器事件消息格式。 重试策略 消息推送函数失败后重试的策略,共两种: 指数退避:指数退避重试,重试5次,重试周期为2,4,8,16,32(秒)。 线性退避:线性退避重试,重试5次,重试周期为1,2,3,4,5(秒)。 容错策略 当重试次数耗尽后仍然失败时的处理方式: 允许容错:当异常发生并超过重试策略配置时直接丢弃。 禁止容错:当异常发生并超过重试策略配置时继续阻塞执行。 死信队列 当容错策略为:允许容错时,可以额外开启死信队列。当开启死信队列时且异常发生并超过重试策略配置时,消息会被投递到指定的消息队列里,当前只支持投递到kafka和rocketmq
        来自:
        帮助文档
        函数计算
        用户指南
        云工作流
        控制台操作
        工作流调度
        RocketMQ触发器
      • 使用限制
        介绍分布式消息服务RocketMQ功能使用限制。 参数限制 RocketMQ是一个高性能、高可靠、可伸缩的分布式消息队列系统,但也有一些使用限制需要注意。以下是一些常见的RocketMQ使用限制: 限制项 限制说明 topic名字 限制2到64个字符,超过限制会导致创建主题失败,用户创建主题只能包含大小写字母数字以及和符号。 group名字 限制2到64个字符,超过限制会导致创建订阅组失败,用户创建订阅组只能包含大小写字母数字以及和符号。 AccessKey 高级版引擎在角色管理中创建AccessKey只能包含大小写字母数组以及符号,长度限制必须大于6个字符小于64个字符。 SecretKey 高级版引擎角色管理创建SecretKey必须包含大小写字母数字以及以下特殊符号:!@ $%,长度限制必须大于8位小于64个字符。 延时消息的发送时间点 最大支持40天的延时时间点,超过40天将发送失败。 消息大小 普通消息和顺序消息大小限制4MB,延时消息消息大小限制16KB,超过限制会导致消息发送失败。 消息存储时长 消息存储时长限制默认为7天,超过最长存储时间的消息会被删除。 资源配额 限制项 限制说明 单地域实例数 实例总数不超过100个。 单代理TPS 由购买的实例规格决定,具体限制值,请参见实例规格限制。 单代理Topic数量 由购买的实例规格决定,具体限制值,请参见实例规格限制。 单代理消费组数量 由购买的实例规格决定,具体限制值,请参见实例规格限制。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        产品简介
        使用限制
      • RocketMQ触发器
        RocketMQ触发器可以订阅分布式消息服务RocketMQ并根据消息触发关联的函数,借此能力,使得函数可以消费指定topic的消息,执行自定义处理逻辑。 注意事项 RocketMQ触发器订阅的分布式消息服务RocketMQ实例必须和函数计算的函数实例在相同地域。 前提条件 创建函数。 开通分布式消息服务RocketMQ实例(RocketMQ引擎类型),详情请参考开通RocketMQ实例。 创建Topic和GroupID。 创建用户,且默认Topic权限设置为:PUBSUB,默认消费组权限为SUB。详情请参考创建用户。 操作步骤 1. 登录函数计算控制台,点击目标函数,进入函数详情。 2. 选择详情下顶部的配置选项卡。 3. 在配置 选项卡中,选择左边的触发器选项卡。 4. 点击创建触发器 ,在弹出的右抽屉中选择RocketMQ触发器,配置参数解释如下。 配置项 操作 示例 触发器类型 选择RocketMQ触发器。 RocketMQ触发器 名称 填写自定义的触发器名称。 rocketmqtrigger 版本或别名 默认值为LATEST,支持选择任意函数版本或函数别名。 LATEST RocketMQ 实例 选择已创建的RocketMQ实例。 Topic 选择已创建的RocketMQ实例的Topic。 Group ID 选择已创建的RocketMQ实例的Group ID。 消费位点 选择消息的消费位点,即触发器从RocketMQ实例开始拉取消息的位置。取值说明如下。 最新位点 :从最新位点开始消费。 最早位点 :从最早位点开始消费。 指定时间戳:从指定时间戳开始消费。 最新位点 调用方式 选择函数调用方式。 同步调用 :指触发器消费topic消息后投递到函数是同步调用,会等待函数响应后继续下一个消息投递。 异步调用:指触发器消费topic消息后投递到函数是异步调用,不会等待函数响应,可以快速消费事件。 同步调用 用户ID RocketMQ实例用户ID,需要在RocketMQ控制台创建。 密钥 RocketMQ实例用户密钥,需要在RocketMQ控制台创建。 触发器启用状态 创建触发器后是否立即启用。默认选择开启,即创建触发器后立即启用触发器。 推送配置 批量推送条数:批量推送的最大值,积压值达到后立刻推送,取值范围为 [1, 10000]。 批量推送间隔:批量推送的最大时间间隔,达到后立刻推送,单位秒,取值[0,15]。默认0无需等待,数据直接推送。 推送格式:函数收到的事件格式,详情请查阅触发器事件消息格式。 重试策略 消息推送函数失败后重试的策略,共两种: 指数退避:指数退避重试,重试5次,重试周期为2,4,8,16,32(秒)。 线性退避:线性退避重试,重试5次,重试周期为1,2,3,4,5(秒)。 容错策略 当重试次数耗尽后仍然失败时的处理方式: 允许容错:当异常发生并超过重试策略配置时直接丢弃。 禁止容错:当异常发生并超过重试策略配置时继续阻塞执行。 死信队列 当容错策略为:允许容错时,可以额外开启死信队列。当开启死信队列时且异常发生并超过重试策略配置时,消息会被投递到指定的消息队列里,当前只支持投递到kafka和rocketmq
        来自:
        帮助文档
        函数计算
        用户指南
        事件触发
        RocketMQ触发器
      • topic、queue的规划
        在RocketMQ中,队列数直接影响到消费者实例数的上限,同一消费组消费者实例数的上限队列数,需要集群消费的情况,需考虑队列数的设置。 在RocketMQ中,队列能分布到不同的Broker上,是RocketMQ分布式的基础。Queue分布在Broker中,则能使用Broker的资源,包括存储、IO等,一般情况下,分布在某个Broker上的Queue比例越大,则占用此Broker的资源越多,Topic中的Queue分布到的Broker数量越多,则性能越好、存储越大。若Broker的所在机器性能不同,可以通过调整Queue数量,达到资源调优的目的,在应用设计时,需要充分利用上述特性。 在Push消费模式中,API会默认为每个队列预拉取消息1000条,若队列数过大、或者单条消息包体过大,则需要考虑设置减少预拉数量,防止预拉消息过大导致内存溢出。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        最佳实践
        topic、queue的规划
      • 与Kafka、RocketMQ的差异
        本文主要介绍分布式消息服务RabbitMQ与Kafka、RocketMQ的差异。 分布式消息服务RabbitMQ与Kafka、RocketMQ的差异,如下表。 功能项 RocketMQ Kafka RabbitMQ 优先级队列 不支持 不支持 支持。建议优先级大小设置在010之间。 延迟队列 支持 不支持 不支持 死信队列 支持 不支持 支持 消息重试 支持 不支持 不支持 消费模式 支持客户端主动拉取和服务端推送两种方式 客户端主动拉取 支持客户端主动拉取以及服务端推送两种模式 广播消费 支持 支持 支持 消息回溯 支持 支持。Kafka支持按照offset和timestamp两种维度进行消息回溯。 不支持。RabbitMQ中消息一旦被确认消费就会被标记删除。 消息堆积 支持 支持。考虑吞吐因素,Kafka的堆积效率比RabbitMQ总体上要高。 支持 持久化 支持 支持 支持 消息追踪 支持 不支持 支持。RabbitMQ中可以采用Firehose或者rabbitmqtracing插件实现,但开启rabbitmqtracing插件会影响性能,建议只在定位问题过程中开启。 消息过滤 支持 支持 不支持,但可以自行封装。 多租户 支持 不支持 支持 多协议支持 兼容RocketMQ协议 只支持Kafka自定义协议。 RabbitMQ基于AMQP协议实现,同时支持MQTT、STOMP等协议。 跨语言支持 支持多语言的客户端 采用Scala和Java编写,支持多种语言的客户端。 采用Erlang编写,支持多种语言的客户端。 流量控制 待规划 支持client和user级别,通过主动设置可将流控作用于生产者或消费者。 RabbitMQ的流控基于CreditBased算法,是内部被动触发的保护机制,作用于生产者层面。 消息顺序性 单队列(queue)内有序 支持单分区(partition)级别的顺序性。 不支持。需要单线程发送、单线程消费并且不采用延迟队列、优先级队列等一些高级功能整体配合,才能实现消息有序。 安全机制 支持SSL认证 支持SSL、SASL身份认证和读写权限控制。 与Kafka相似 事务性消息 支持 支持 支持
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        产品简介
        与Kafka、RocketMQ的差异
      • 查询Topic信息
        本章节介绍了如何查询分布式消息服务RocketMQ实例的Topic。 操作场景 Topic创建成功后,查询Topic相关的配置和状态信息。 操作步骤 1. 登录分布式消息服务RocketMQ控制台。 2. 单击RocketMQ实例的名称,进入实例详情页面。 3. 在左侧导航栏,单击“Topic管理”,进入“Topic管理”页面。 4. 单击需要查询的Topic名称,进入Topic详情页面。 在详情页上方可以查看Topic名称、关联代理、读队列个数、写队列个数和权限。 在详情页下方可以查看Topic在每个代理上的队列状态,包括队列ID、最小偏移量、最大偏移量和消息更新时间。还可以查看消费组消费此Topic的情况,包括消费组名称、最大重试次数和广播消费。 图 Topic详情
        来自:
        帮助文档
        分布式消息服务RocketMQ
        用户指南
        Topic管理
        查询Topic信息
      • 与Kafka、RabbitMQ专享版的差异
        本章节介绍了分布式消息服务RocketMQ与Kafka和RabbitMQ的差异。 功能项 RocketMQ Kafka RabbitMQ 优先级队列 不支持 不支持 支持。建议优先级大小设置在010之间。 延迟队列 支持 不支持 不支持 死信队列 支持 不支持 支持 消息重试 支持 不支持 不支持 消费模式 支持客户端主动拉取和服务端推送两种方式 客户端主动拉取 支持客户端主动拉取以及服务端推送两种模式 广播消费 支持 支持 支持 消息回溯 支持 支持。Kafka支持按照offset和timestamp两种维度进行消息回溯。 不支持。RabbitMQ中消息一旦被确认消费就会被标记删除。 消息堆积 支持 支持。考虑吞吐因素,Kafka的堆积效率比RabbitMQ总体上要高。 支持 持久化 支持 支持 支持 消息追踪 支持 不支持 支持。RabbitMQ中可以采用Firehose或者rabbitmqtracing插件实现,但开启rabbitmqtracing插件会影响性能,建议只在定位问题过程中开启。 消息过滤 支持 支持 不支持,但可以自行封装。 多租户 支持 不支持 支持 多协议支持 兼容RocketMQ协议 只支持Kafka自定义协议。 RabbitMQ基于AMQP协议实现,同时支持MQTT、STOMP等协议。 跨语言支持 支持多语言的客户端 采用Scala和Java编写,支持多种语言的客户端。 采用Erlang编写,支持多种语言的客户端。 流量控制 待规划 支持client和user级别,通过主动设置可将流控作用于生产者或消费者。 RabbitMQ的流控基于CreditBased算法,是内部被动触发的保护机制,作用于生产者层面。 消息顺序性 单队列(queue)内有序 支持单分区(partition)级别的顺序性。 不支持。需要单线程发送、单线程消费并且不采用延迟队列、优先级队列等一些高级功能整体配合,才能实现消息有序。 安全机制 支持SSL认证 支持SSL、SASL身份认证和读写权限控制。 与Kafka相似 事务性消息 支持 支持 支持
        来自:
        帮助文档
        分布式消息服务RocketMQ
        产品简介
        与Kafka、RabbitMQ专享版的差异
      • 查询消息
        本章节介绍了如何查询分布式消息服务RocketMQ实例的消息。 操作场景 本章节指导您通过查询消息功能查看具体的消息内容,以及确定消息是否生产/消费成功。 分布式消息服务RocketMQ提供三种消息查询的方法:按Topic查询、按Message ID查询和按Message Key查询。 按Topic查询:查询某时间段内指定Topic下所有的消息。此方法属于范围查询,查询到的消息可能比较多。 按Message ID查询:查询指定Message ID的消息。此方法属于精确查找,可以快速查询到某一条消息。 按Message Key查询:查询指定Message Key的消息。此方法属于精确查找,可以快速查询到某一条消息。 前提条件 已创建RocketMQ实例和Topic。 如果通过按Message ID查询,需要提前获取消息所在的Topic名称和消息的Message ID。 如果通过按Message Key查询,需要提前获取消息所在的Topic名称和消息的Message Key。 查询消息轨迹前,请先开启消息轨迹。 查询消息内容 1. 登录分布式消息服务RocketMQ控制台。 2. 单击RocketMQ实例的名称,进入实例详情页面。 3. 在左侧导航栏,单击“消息查询”,进入“消息查询”页面。 图1 查询消息 4. 选择以下任意一种方法,查询消息。 按Topic查询:“Topic”选择待查询消息的Topic名称,“队列”选择待查询消息的队列,“存储时间”选择待查询消息的时间段,单击“查询”。 按Message ID查询:“Topic”选择待查询消息所在的Topic名称,“Message ID”输入待查询消息的Message ID,单击“查询”。 按Message Key查询:“Topic”选择待查询消息所在的Topic名称,“Message Key”输入待查询消息的Message Key,单击“查询”。 5. 在待查询消息所在行,单击“查看详情”,查看消息的具体内容。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        用户指南
        消息查询
        查询消息
      • 创建Topic
        本章节介绍了如何创建分布式消息服务RocketMQ实例的Topic。 操作场景 Topic,即消息主题,消息发送与接收的基本单元。购买RocketMQ实例成功后,需要手动创建Topic,然后才能进行生产消息和消费消息。 前提条件 已购买RocketMQ实例。 操作步骤 1. 登录分布式消息服务RocketMQ控制台。 2. 单击RocketMQ实例的名称,进入实例详情页面。 3. 在左侧导航栏,单击“Topic管理”,进入“Topic管理”页面。 4. 单击“创建Topic”,弹出“创建Topic”页面。 5. 参考表1,填写Topic名称和配置信息。 表1 Topic参数说明 参数 说明 Topic名称 您可以自定义Topic名称,用于区分不同的Topic。 Topic名称不能设置为相同,否则会创建失败。创建Topic后不能修改名称。 说明:如果Topic名称中包含“%”或“ 权限 Topic的权限,包括发布+订阅、发布和订阅。 关联代理 选择在某个代理上创建Topic,并设置Topic的队列个数。如果实例部署在多个代理上,单击“添加关联代理”,可以在其他代理上创建Topic,并设置Topic的队列个数。 6. 参考图1 创建Topic 7. 配置完成后,单击“确定”,完成Topic的创建。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        用户指南
        Topic管理
        创建Topic
      • 修改Topic参数
        本章节介绍了如何修改分布式消息服务RocketMQ实例的Topic。 操作场景 Topic创建成功后,您可以根据业务需要修改以下参数:读队列个数、写队列个数、权限和添加关联代理。 操作步骤 1. 登录分布式消息服务RocketMQ控制台。 2. 单击RocketMQ实例的名称,进入实例详情页面。 3. 在左侧导航栏,单击“Topic管理”,进入“Topic管理”页面。 4. 选择以下任意一种方法修改Topic参数。 在待修改的Topic所在行,单击“编辑”,弹出“编辑Topic”页面。 单击待修改的Topic名称,进入Topic详情页面。在页面右上角,单击“编辑”,弹出“编辑Topic”页面。 5. 修改如表1所示配置信息。 表 Topic参数说明 参数 说明 权限 Topic的权限,包括发布+订阅、发布和订阅。 关联代理 修改读队列个数或写队列个数。 lic读数读队列个数:Top据可用的总队列数。 写队列个数:Topic写数据可用的总队列数。 如果创建Topic时未关联所有代理,单击“添加关联代理”,可以在其他代理上创建Topic,并设置读队列个数和写队列个数。 6. 修改完成后,单击“确定”。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        用户指南
        Topic管理
        修改Topic参数
      • 开源对比
        介绍分布式消息服务RocketMQ与开源自建的对比情况。 分布式消息服务RocketMQ基于开源产品RocketMQ进行问题修复与优化,并自主研发,实现低成本、高可靠、高性能和具备监控运维能力的中间件产品。 使用开源RocketMQ遇到的问题 功能不完善:功能比较单一,针对不同应用场景无法有效支持,如消息查询,数据自动删除策略等。 可维护性差:缺乏配套监控运维能力,难以迅速发现解决如消息堆积、队列堵塞等问题。 可靠性较低:消息服务不提供主备切换能力,存在单点故障,无法保证服务高可用。 分布式消息服务RocketMQ改进点 高可用、高可靠改进: 实现自动主备切换、自动拉起功能,保证服务高可用。 实现消息删除策略,按不同的场景优先保证服务可用性或者数据安全性。 可维护性改进: 实现按生产者、消费者、数据节点、队列4种维度的运行状态监控,方便快速发现问题。 实现可视化的监控、配置、管理界面实现自动化测试,以快速迭代。 新增功能: 新增消息查询,做到可查可追踪。 重新封装SDK,简化应用使用,并提供按hash算法实现消息局部有序生产消费。 开源自建对比项 对比项 开源自建 分布式消息服务RocketMQ 自动化部署 不支持自动化部署,需要专业人员自行部署、运维 全托管PaaS,免机器资源一键自动化部署。开箱即用,按需使用,支持弹性扩容 运维监控 缺乏配套的监控运维能力 提供多维度的数据可视化监控,快速定位、处理问题 增强能力 功能单一,无法支持多种场景需求 功能丰富,支持消息重试、消息查询、消息轨迹查询、数据自动清理等定制化功能 延迟消息/定时消息 仅支持18个固定延迟时长,最长延迟2小时 支持秒级的任意延迟时长,最长延迟40天 ACL访问控制 访问控制配置复杂 灵活配置,一键生效
        来自:
        帮助文档
        分布式消息服务RocketMQ
        产品简介
        开源对比
      • 与开源RocketMQ的差异
        本章节介绍了分布式消息服务RocketMQ与开源RocketMQ的差异。 分布式消息服务RocketMQ在兼容开源RocketMQ基础上,对版本特性做了一定程度的定制和增强。 表1 分布式消息服务RocketMQ与开源RocketMQ的差异说明 功能项 分布式消息服务RocketMQ 开源RocketMQ 延迟消息/定时消息 延迟消息:支持18个固定延迟时长,最长延迟2小时。 定时消息:支持任意延迟时长,最长延迟1年。 仅支持18个固定延迟时长,最长延迟2小时。 顺序消息 支持 支持 消息重试 支持 支持 死信消息 支持 支持 集群消费 支持 支持 广播消费 支持 支持 死信队列 支持 支持 消费重置 支持 支持 消息查询 支持 支持 加密传输 支持 支持 消息轨迹 支持 支持 事务消息 支持,事务消息大量堆积时,性能提升10倍 支持,事务消息大量堆积时,性能较差 死信导出 支持 不支持 数据转储 待规划 不支持 实例诊断 一键诊断消费问题 不支持 实例监控 支持以图表形式查看历史值,18+监控项 仅支持查看当前监控值,不支持CPU、内存等监控指标 ACL访问控制 灵活配置,一键生效 配置复杂 运维扩容 极速扩容,一键生效 手动扩容,操作复杂
        来自:
        帮助文档
        分布式消息服务RocketMQ
        产品简介
        与开源RocketMQ的差异
      • 计费类
        如何为购买的消息队列RocketMQ实例续费? 为防止资源到期或者浪费,已经购买包月实例的用户,可执行续费操作,延长 RocketMQ实例的有效期,也可以设置到期自动续费的相关操作。 开通的RocketMQ实例资源包何时生效? 天翼云分布式消息服务RocketMQ资源包在客户支付成功之后,系统经过初始化完成后即可生效使用。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        常见问题
        计费类
      • 拨测
        场景描述 在进行消息发送与接收验证的过程中,我们需要确保RocketMQ的生产者能够将消息成功发送到指定的Topic,同时消费者能够接收到这些消息。通过验证,可以确认生产者发送的消息能够准确无误地到达消费者,这是消息队列最基本也是最重要的功能要求。在开发和测试阶段,通过消息发送与接收验证可以及时发现并修复可能存在的问题,避免在实际应用中出现故障。 操作步骤 1、 天翼云官网点击控制中心,选择产品分布式消息服务RocketMQ。 2、 登录分布式消息服务RocketMQ控制台,点击右上角地域选择对应资源池。 进入实例列表,点击【管理】按钮进入管理菜单。 3、 进入实例列表,点击【管理】按钮进入管理菜单。 4、 进入Topic管理菜单,点击【拨测】按钮,进行生产消费的拨测验证,验证开通的消息实例和Topic。 1)生产测试拨测: 选择消息类型,默认普通消息。 填写需要产生的测试消息数量,以及每条消息的大小,默认每条消息1KB,建议不超过4MB(4096KB)。 选择已建的消息Topic,若无选项,请新增Topic,详见上文创建Topic和订阅组。 点击【测试】按钮,按照已填写规格及数量产生测试消息数据,展示消息数据的信息,包括消息ID(messageID)、发送状态、主题名(topic名)、Broker名、队列ID。 拨测功能涉及消息发送状态码,以下是RocketMQ消息发送状态码及其说明: ✧ SENDOK(发送成功):表示消息成功发送到了消息服务器。 ✧ FLUSHDISKTIMEOUT(刷新磁盘超时):表示消息已经成功发送到消息服务器,但是刷新到磁盘上超时。这可能会导致消息服务器在宕机后,尚未持久化到磁盘上的数据丢失。 ✧ FLUSHSLAVETIMEOUT(刷新从服务器超时):表示消息已经成功发送到消息服务器,但是刷新到从服务器上超时。这可能会导致主从同步不一致。 ✧ SLAVENOTAVAILABLE(从服务器不可用):表示消息已经成功发送到消息服务器,但是从服务器不可用。这可能是由于网络故障或从服务器宕机引起的。 ✧ UNKNOWNERROR(未知错误):表示发送消息时遇到了未知的错误。一般情况下建议重试发送消息。 ✧ MESSAGESIZEEXCEEDED(消息大小超过限制):表示消息的大小超过了消息服务器的限制。需要检查消息的大小是否合适。 ✧ PRODUCETHROTTLE(消息生产被限流):表示消息生产者的频率超出了消息服务器的限制。这可能是由于消息发送频率过高引起的。 ✧ SERVICENOTAVAILABLE(服务不可用):表示消息服务器不可用。这可能是由于网络故障或者消息服务器宕机引起的。 请注意,以上状态码仅适用于RocketMQ消息发送阶段,并且并不代表消息是否成功被消费者接收。同时,这些状态码也可能因版本变化而有所不同,建议查阅官方文档获取最新信息。 2)消费测试拨测: 选择消息顺序,下拉选择无序/有序,默认选项为无序。 RocketMQ是一种开源的分布式消息中间件,它支持有序消息和无序消息。 ✧ 有序消息是指消息的消费顺序与发送顺序完全一致。在某些业务场景下,消息的处理需要保证顺序性,例如订单的处理或者任务的执行。RocketMQ提供了有序消息的支持,通过指定消息的顺序属性或使用消息队列的分区机制,可以确保消息按照指定的顺序进行消费。 ✧ 无序消息则是指消息的消费顺序与发送顺序无关。无序消息的特点是高吞吐量和低延迟,适用于一些不要求严格顺序的业务场景,如日志收集等。 在RocketMQ中,有序消息和无序消息的实现方式略有不同。有序消息需要借助MessageQueue的分区机制和消费者端的顺序消息消费来实现。而无序消息则是通过消息的发送和接收的并发处理来实现的。 总的来说,RocketMQ既支持有序消息也支持无序消息,根据业务需求选择合适的消息类型来满足业务的要求。 选择消费方式,目前仅提供pull方式。值得注意的是,RocketMQ还提供了推送(push)方式的消费模式,其中消息队列服务器会主动将消息推送给消费者。但在当前仅限于pull方式的消费模式。 填写消费数量。 下拉选择选择已建的消息主题和订阅组,若无选项,请新增主题和订阅组,详见上文创建主题和订阅组。 点击【测试】按钮,按照已填写规格及数量产生消费数据,展示消息数据的信息,包括消息ID(messageID)、主题名称(topicName)、生成时间、存储时间、队列ID、消费状态。 拨测功能涉及消息消费状态码,RocketMQ消费状态码是指在消息消费过程中,对消费结果进行标识的状态码。以下是常见的RocketMQ消费状态码: ✧ CONSUMESUCCESS(消费成功):表示消息成功被消费。 ✧ RECONSUMELATER(稍后重试):表示消费失败,需要稍后再次进行消费。 ✧ CONSUMEFAILURE(消费失败):表示消息消费出现异常或失败。 ✧ SLAVENOTAVAILABLE(从节点不可用):表示消费者无法访问从节点来消费消息。 ✧ NOMATCHEDMESSAGE(无匹配的消息):表示当前没有匹配的消息需要消费。 ✧ OFFSETILLEGAL(偏移量非法):表示消费的偏移量参数不合法。 ✧ BROKERTIMEOUT(Broker超时):表示由于Broker超时导致消费失败。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        用户指南
        Topic管理
        拨测
      • 概览
        全局堆积 在使用RocketMQ时,可能会遇到消息堆积的情况,即未能及时处理和消费的消息大量积压在消息队列中。 造成消息堆积的原因可能是消费者处理消息的速度不够快,或者消费者出现故障导致无法正常消费消息。当消息堆积发生时,可能会导致系统的稳定性下降,甚至影响整个应用的正常运行。 分布式消息服务RocketMQ标识该集群下,所有topic的消费堆积情况,列表按倒叙排列了堆积量最大的前20个topic的堆积情况。 全局消息 分布式消息服务RocketMQ标识该集群,所有topic的生产情况,按现有消息量倒叙排列。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        用户指南
        实例管理
        概览
      • 查看实例
        参数 说明 实例名称 RocketMQ实例名称是指在RocketMQ中创建的一个特定实例的名称。它可以用来唯一标识和区分不同的RocketMQ实例。根据RocketMQ的设计,实例名称通常由字母、数字和下划线组成,并且长度通常不超过255个字符。实例名称应该具有描述性,以便在多个RocketMQ实例存在时进行区分和管理。 实例ID RocketMQ实例ID是指在RocketMQ中创建的一个实例的唯一标识符。它是由系统自动生成的,用于区分不同的RocketMQ实例。实例ID可以用来管理和操作RocketMQ实例,例如创建、删除和修改实例等。实例ID通常由一串数字和字母组成,并且在RocketMQ集群中必须保持唯一性。 引擎类型 提供RocketMQ和CTGMQ两类引擎。 磁盘大小 购买实例选择的磁盘大小,通常为100G的整数倍。 磁盘类型 购买实例选择的磁盘类型,默认为SAS,也可选择更高的IO磁盘。 主机规格 购买实例选择的主机规格,主要展示CPU核数和内存大小,更多主机规格请参见产品规格。 broker节点数 RocketMQ的broker节点数是指在一个RocketMQ集群中扮演broker角色的节点数量。每个broker节点负责存储消息、处理消息的传输和消费者的请求等功能。 实例描述 用户根据需要可填写实例备注。 运行状态 实例当前运行状态,各状态描述见上文表格实例状态说明。 付费类型 创建实例时选择的付费类型,有包周期/按需两个选项。 创建时间 实例创建时间。 到期时间 包周期的实例到期时间,按需付费类型不展示。 专用网络 创建实例时绑定的VPC名称,详见订购前准备。 子网 创建实例时绑定的子网名称,详见订购前准备。 安全组 创建实例时绑定的安全组名称,详见订购前准备。 客户端协议 RocketMQ客户端协议是指在使用RocketMQ消息队列的应用程序与RocketMQ服务端之间进行通信和交互的协议规范。 网络 VPC专用网络。 接入点 接入点具体VPC内网IP。 TPS监控 标识该集群所有broker下,所有topic的生产、消费tps(2min)的时间变化曲线 流量监控 标识该集群下,所有topic的消费堆积情况,列表按倒叙排列了堆积量最大的前20个topic的堆积情况。 全局堆积 全局堆积是指消息在整个消息队列系统中的积压情况。 全局消息 标识该集群,所有topic的生产情况,按现有消息量倒叙排列。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        用户指南
        实例管理
        查看实例
      • 创建Topic
        本章节介绍了如何创建Topic。 操作场景 Topic,即消息主题,消息发送与接收的基本单元。购买RocketMQ实例成功后,需要手动创建Topic,然后才能进行生产消息和消费消息。 前提条件 已购买RocketMQ实例。 操作步骤 1. 登录分布式消息服务RocketMQ控制台。 2. 单击RocketMQ实例的名称,进入实例详情页面。 3. 在左侧导航栏,单击“Topic管理”,进入“Topic管理”页面。 4. 单击“创建Topic”,弹出“创建Topic”页面。 5. 参考表1,填写Topic名称和配置信息。 表 Topic参数说明 参数 说明 :: Topic名称 您可以自定义Topic名称,用于区分不同的Topic。 Topic名称不能设置为相同,否则会创建失败。 创建Topic后不能修改名称。 说明: 如果Topic名称中包含“%”或“ 权限 Topic的权限,包括发布+订阅、发布和订阅。 关联代理 选择在某个代理上创建Topic,并设置Topic的队列个数。 如果实例部署在多个代理上,单击“添加关联代理”,可以在其他代理上创建Topic,并设置Topic的队列个数。 图 创建Topic 6. 配置完成后,单击“确定”,完成Topic的创建。
        来自:
        帮助文档
        分布式消息服务RocketMQ
        快速入门
        创建Topic
      • RocketMQ .NET SDK
        说明 分布式消息服务RocketMQ兼容了社区版 HTTP SDK,您可以使用社区版 HTTP SDK接入分布式消息服务RocketMQ。 前提条件 1. 下载社区 C SDK到本地并解压。 2. 使用Visual Studio打开sln文件导入工程。 发送普通消息 using System; using Aliyun.MQ; using Aliyun.MQ.Model; namespace MQ.Sample { public class Producer { // 填写分布式消息服务RocketMQ控制台HTTP接入点 private const string endpoint "${HTTPENDPOINT}"; // 填写AccessKey,在管理控制台创建 private const string accessKeyId "${ACCESSKEY}"; // 填写SecretKey 在管理控制台创建 private const string secretAccessKey "${SECRETKEY}"; // 消息所属的Topic,在消息队列RocketMQ版控制台创建。 private const string topicName "${TOPIC}"; // Topic所属实例ID,默认实例为空 private const string instanceId "${INSTANCEID}"; private static MQClient client new Aliyun.MQ.MQClient(accessKeyId, secretAccessKey, endpoint); static MQProducer producer client.GetProducer(instanceId, topicName); static void Main(string[] args) { try { // 循环发送4条消息。 for (int i 0; i messages null; try { messages consumer.ConsumeMessage( 3, // 一次最多消费3条(最多可设置为16条) 3 // 长轮询时间3秒(最多可设置为30秒) ); } catch (Exception exp1) { if (exp1 is MessageNotExistException) { Console.WriteLine(Thread.CurrentThread.Name + " No new message, " + ((MessageNotExistException)exp1).RequestId); continue; } Console.WriteLine(exp1); Thread.Sleep(2000); } if (messages null) { continue; } List handlers new List<>(); Console.WriteLine(Thread.CurrentThread.Name + " Receive Messages:"); // 处理业务逻辑 foreach (Message message in messages) { Console.WriteLine(message); handlers.Add(message.ReceiptHandle); } // Message.nextConsumeTime前若不确认消息消费成功,则消息会重复消费 // 消息句柄有时间戳,同一条消息每次消费拿到的都不一样 try { consumer.AckMessage(handlers); Console.WriteLine("Ack message success:"); foreach (string handle in handlers) { Console.Write("t" + handle); } Console.WriteLine(); } catch (Exception exp2) { // 某些消息的句柄可能超时了会导致确认不成功 if (exp2 is AckMessageException) { AckMessageException ackExp (AckMessageException)exp2; Console.WriteLine("Ack message fail, RequestId:" + ackExp.RequestId); foreach (AckMessageErrorItem errorItem in ackExp.ErrorItems) { Console.WriteLine("tErrorHandle:" + errorItem.ReceiptHandle + ",ErrorCode:" + errorItem.ErrorCode + ",ErrorMsg:" + errorItem.ErrorMessage); } } } } catch (Exception ex) { Console.WriteLine(ex); Thread.Sleep(2000); } } } }}
        来自:
        帮助文档
        分布式消息服务RocketMQ
        SDK参考
        RocketMQ .NET SDK
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • ...
      • 240
      跳转至
      推荐热词
      天翼云运维管理审计系统天翼云云服务平台云服务备份云日志服务应用运维管理云手机云电脑天翼云云hbase数据库电信云大数据saas服务电信云大数据paas服务轻量型云主机天翼云客户服务电话应用编排服务天翼云云安全解决方案云服务总线CSB天翼云服务器配置天翼云联邦学习产品天翼云云安全天翼云企业上云解决方案天翼云产品天翼云视频云存储

      天翼云最新活动

      天翼云新春焕新季

      云主机开年特惠28.8元/年,0元秒杀等你来抢!

      云上钜惠

      爆款云主机全场特惠,2核4G只要1.8折起!

      中小企业服务商合作专区

      国家云助力中小企业腾飞,高额上云补贴重磅上线

      出海产品促销专区

      爆款云主机低至2折,高性价比,不限新老速来抢购!

      天翼云奖励推广计划

      加入成为云推官,推荐新用户注册下单得现金奖励

      产品推荐

      物理机 DPS

      弹性伸缩服务 AS

      弹性高性能计算 E-HPC

      天翼云CTyunOS系统

      AI Store

      公共算力服务

      科研助手

      一站式智算服务平台

      知识库问答

      推荐文档

      复制备份

      生产者

      代金券使用后是否可以退换?

      重置操作系统

      EIP解绑和批量解绑

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 天翼云国际站
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2026 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号