文档

产品功能常见问题

更新时间:

云消息队列 RocketMQ 版5.0系列相比4.0系列实例有什么优势?

5.0系列实例和历史服务端版本相比,架构更先进、开发门槛更低、运维门槛更低、成本更加弹性、售卖形态更完善。更多信息,请参见4.x和5.x版本差异及兼容性说明

云消息队列 RocketMQ 版5.0系列实例兼容哪些版本客户端?

云消息队列 RocketMQ 版5.0系列实例兼容开源Apache RocketMQ 5.x/4.x/3.x版本客户端,以及云消息队列 RocketMQ 版ONS 1.x版本客户端。更多信息,请参见服务端版本兼容性

云消息队列 RocketMQ 版支持哪些语言客户端?

  • 云消息队列 RocketMQ 版5.0系列:支持TCP协议Java、C/C++、C#和Go语言SDK。更多信息,请参见5.0系列SDK参考概述。

  • 云消息队列 RocketMQ 版4.0系列:支持TCP协议Java、C/C#、.NET以及HTTP协议的Java、Go、Python、Node.js、PHP、C#和C++多语言SDK。更多信息,请参见4.0系列SDK参考概述

云消息队列 RocketMQ 版如何开通公网访问?

  • 5.0系列实例:您可以在购买实例时,选择公网访问类型为开启;若创建实例时未开启公网访问,您可以通过实例升配,将公网访问类型修改为开启。5.0系列公网访问计费信息,请参见公网访问费用

  • 4.0系列实例:已默认支持公网接入点,无需手动设置。4.0系列公网访问计费信息,请参见公网流量定价详情

公网接入点在云消息队列 RocketMQ 版控制台实例详情页面获取。

顺序消息和普通消息的区别是什么?

普通消息无法保证消息消费和消息生产的顺序一致。

对于顺序消息,所有消息按照ShardingKey进行区块分区,同一分区内的消息将按照先进先出(FIFO)原则进行消费。同一分区内的消息保证顺序性,不同分区的消息消费顺序不做要求。更多信息,请参见顺序消息

连接服务端时的用户名和密码在哪里获取?

  • 5.0系列实例:访问5.0系列实例时,需要填写实例的用户名和密码,示例如下:

    /**
    * 如果是使用公网接入点访问,configuration还需要设置实例的用户名和密码。用户名和密码在控制台访问控制的智能身份识别页签中获取。
    * 如果是在阿里云ECS内网访问,无需填写该配置,服务端会根据内网VPC信息智能获取。
    * 如果实例类型为Serverless实例,公网访问必须设置实例的用户名密码,当开启内网免身份识别时,内网访问可以不设置用户名和密码。
    */
    builder.setCredentialProvider(new StaticSessionCredentialsProvider("Instance UserName", "Instance Password"));

    实例用户名密码

  • 4.0系列实例:访问4.0系列实例时,需要填写您阿里云账号或RAM用户的AccessKey ID和AccessKey Secret,示例如下:

    // AccessKey ID阿里云身份验证,在阿里云RAM控制台创建。
    properties.put(PropertyKeyConst.AccessKey,"Y2lK16J6Eh******");
    // AccessKey Secret阿里云身份验证,在阿里云RAM控制台创建。
    properties.put(PropertyKeyConst.SecretKey,"SPX46tC00z******");

    获取方式,请参见创建AccessKey

连接服务端时的接入点(endpoint)在哪里获取?

  • 5.x实例:提供TCP协议接入点,不支持HTTP协议SDK接入。

  • 4.x实例:提供TCP协议接入点和HTTP协议接入点,您需要根据使用的SDK的协议选择对应的接入点,不同协议接入点不可混用

通过控制台获取

  1. 登录云消息队列 RocketMQ 版控制台,在左侧导航栏单击实例列表

  2. 在顶部菜单栏选择地域,如华东1(杭州),然后在实例列表中,单击目标实例名称。

  3. 实例详情页面的基本信息页签查看实例的接入点。

通过API接口获取

云消息队列 RocketMQ 版订阅的Tag数量有限制吗?

Tag由生产者发送消息时设置,每条消息允许设置一个Tag标签。

消费者在订阅消息时,设置的过滤规则中Tag数量没有限制,但过滤表达式不建议设置过长,建议不超过1 KB。

更多信息,请参见Topic与Tag最佳实践

云消息队列 RocketMQ 版集群消费和广播消费的区别是什么?

  • 集群消费:当使用集群消费模式时,云消息队列 RocketMQ 版认为任意一条消息只需要被集群内的任意一个消费者处理即可。

  • 广播消费:当使用广播消费模式时,云消息队列 RocketMQ 版会将每条消息推送给集群内所有的消费者,保证消息至少被每个消费者消费一次。

更多信息,请参见集群消费和广播消费

多个Group订阅同一个Topic消息如何消费?

一个Group可以订阅多个Topic,同时一个Topic也可以被多个Group订阅。多个Group订阅同一个Topic时,同一条消息会向每个Group推送一次。不同Group相互隔离,一条消息可以被每个Group同时消费。

云消息队列 RocketMQ 版的消息体最大是多少?

  • 5.0系列实例:

    不超过4 MB。

  • 4.0系列实例:

    • 普通和顺序消息:4 MB

    • 事务和定时或延时消息:64 KB

    说明

    其中,所有消息的自定义属性大小均不能超过16 KB。

消息在云消息队列 RocketMQ 版中能保存多久?

  • 5.0系列实例:

    • 最短24小时。

    • 最长720小时。

  • 4.0系列实例:

    • 标准版:存储时长为3天,超过时间将自动滚动删除。

    • 企业铂金版:存储时长为3天,若您购买实例的存储空间规格不足时,云消息队列 RocketMQ 版会按存储时间滚动删除最早的消息,此时消息的存储时长可能不足3天。

消息的负载均衡策略是什么?

消息消费失败是否会重新消费?

消息消费失败后,云消息队列 RocketMQ 版会将消息重新投递给消费者重新消费。

云消息队列 RocketMQ 版5.0系列实例支持广播消费吗?

云消息队列 RocketMQ 版领域模型中,同一条消息支持被多个消费者分组订阅,同时,对于每个消费者分组可以初始化多个消费者。您可以根据消费者分组和消费者的不同组合,实现以下两种不同的消费效果:消费方式
  • 消费组间广播消费:如上图所示,每个消费者分组只初始化唯一一个消费者,每个消费者可消费到消费者分组内所有的消息,各消费者分组都订阅相同的消息,以此实现单客户端级别的广播一对多推送效果。

    该方式一般可用于网关推送、配置推送等场景。

  • 消费组内共享消费:如上图所示,每个消费者分组下初始化了多个消费者,这些消费者共同分担消费者分组内的所有消息,实现消费者分组内流量的水平拆分和均衡负载。

    该方式一般可用于微服务解耦场景。

5.0系列实例无需单独配置客户端SDK代码,您可以按照消费组间广播消费的方案设计订阅关系,实现广播消费的效果。

云消息队列 RocketMQ 版定时消息最大可定时多长时间?

  • 5.0系列实例:

    • 包年包月、按量付费标准版,Serverless标准版与专业版最大支持7天。

    • 包年包月、按量付费专业版,铂金版最大支持40天。

  • 4.0系列实例:最长定时时长为40天。

    msg.setStartDeliverTime参数(单位:毫秒)可设置40天内的任何时刻,超过40天消息发送将失败。

    说明

    定时消息的精度有1s~2s的延迟误差。

实例的Topic数量和Group数量有限制吗?

  • 5.0系列实例

    实例的Topic数量和Group数量的上限值以购买的实例规格为准,具体上限,请参见实例规格限制

  • 4.0系列实例

    实例类型

    Topic数量限制

    Group数量限制

    标准版实例

    无限制

    说明

    4.0系列实例会按Topic数量收取Topic资源占用费,为避免产生额外费用,请及时清理不再使用的Topic资源。具体计费信息,请参见消息收发定价详情

    1000个

    企业铂金版实例

    以购买实例时选择的Topic规格为准

    1000个

云消息队列 RocketMQ 版存储需要挂载磁盘吗?

不需要。

仅4.0系列铂金版实例创建时,需要选择存储空间大小,实际存储将按照实例所选的存储大小配置。

其他版本实例按照实际存储的消息量按量计费,您无需关注存储配置。