云消息队列 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的协议选择对应的接入点,不同协议接入点不可混用
通过控制台获取
登录云消息队列 RocketMQ 版控制台,在左侧导航栏单击实例列表。
在顶部菜单栏选择地域,如华东1(杭州),然后在实例列表中,单击目标实例名称。
在实例详情页面的基本信息页签查看实例的接入点。
通过API接口获取
5.x实例:调用GetInstance接口查询
4.x实例:调用OnsInstanceBaseInfo接口查询
云消息队列 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天。
消息的负载均衡策略是什么?
5.0系列实例:5.0系列生产者负载均衡策略、5.0系列消费者负载均衡策略。
4.0系列实例:4.0系列消息负载均衡策略。
消息消费失败是否会重新消费?
消息消费失败后,云消息队列 RocketMQ 版会将消息重新投递给消费者重新消费。
云消息队列 RocketMQ 版5.0系列实例支持广播消费吗?
- 消费组间广播消费:如上图所示,每个消费者分组只初始化唯一一个消费者,每个消费者可消费到消费者分组内所有的消息,各消费者分组都订阅相同的消息,以此实现单客户端级别的广播一对多推送效果。
该方式一般可用于网关推送、配置推送等场景。
- 消费组内共享消费:如上图所示,每个消费者分组下初始化了多个消费者,这些消费者共同分担消费者分组内的所有消息,实现消费者分组内流量的水平拆分和均衡负载。
该方式一般可用于微服务解耦场景。
5.0系列实例无需单独配置客户端SDK代码,您可以按照消费组间广播消费的方案设计订阅关系,实现广播消费的效果。
云消息队列 RocketMQ 版定时消息最大可定时多长时间?
5.0系列实例:
包年包月、按量付费标准版,Serverless标准版与专业版最大支持7天。
包年包月、按量付费专业版,铂金版最大支持40天。
4.0系列实例:最长定时时长为40天。
msg.setStartDeliverTime
参数(单位:毫秒)可设置40天内的任何时刻,超过40天消息发送将失败。说明定时消息的精度有1s~2s的延迟误差。
实例的Topic数量和Group数量有限制吗?
云消息队列 RocketMQ 版存储需要挂载磁盘吗?
不需要。
仅4.0系列铂金版实例创建时,需要选择存储空间大小,实际存储将按照实例所选的存储大小配置。
其他版本实例按照实际存储的消息量按量计费,您无需关注存储配置。