云服务器内容精选
-
消息清理机制 无论消息是否被消费,RocketMQ的消息默认保留时间为48小时,最长保留时间为720小时,修改保留时间的操作请参见修改RocketMQ消息保留时间。RocketMQ消息存储在CommitLog文件中,CommitLog文件大小为1GB,当一个CommitLog文件写满后,会生成一个新的CommitLog文件。RocketMQ删除消息是删除CommitLog文件,而不是删除一条消息。CommitLog文件为顺序写入,当最后写入的一条消息过期时,表示CommitLog文件过期。满足如下任意一个条件,CommitLog文件将会被清理: 每天凌晨4点会清理过期的文件,部分老实例由于未设置时区,清理时间为每天中午12点。 当磁盘使用率达到70%(针对4.8.0版本)或75%(针对5.x版本)时,会立刻清理过期的文件。 当磁盘使用率达到85%时,会从最早创建的文件开始清理,不管文件是否已过期,直到磁盘空间充足。
-
前提条件 已创建RocketMQ实例和Topic。 如果通过按Message ID查询,需要提前获取消息所在的Topic名称和消息的Message ID。 Message ID为生产消息后返回的MsgId,如6中返回的内容,也可先通过Topic查询消息,记录Message ID。 如果通过按Message Key查询,需要提前获取消息所在的Topic名称和消息的Message Key。 Message Key为7中配置的消息Key,也可先通过Topic查询消息,记录Message Key。
-
前提条件 已创建RocketMQ实例和消费组。 如果通过按Message ID查询,需要提前获取消息所在的消费组名称和消息的Message ID。 Message ID为生产消息后返回的MsgId,如6中返回的内容,也可先通过Topic查询消息,记录Message ID。 如果通过按Message Key查询,需要提前获取消息所在的消费组名称和消息的Message Key。 Message Key为7中配置的消息Key,也可先通过Topic查询消息,记录Message Key。
-
快速购买RocketMQ实例 进入购买RocketMQ实例页面。 在“快速购买”页签中,设置实例基础配置。 表4 实例基础配置参数说明 参数名称 说明 计费模式 RocketMQ实例的计费模式。 取值范围: 包年/包月:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。 按需付费:一种后付费模式,即先使用再付费,按照RocketMQ实例实际使用时长计费,秒级计费,按小时结算。 区域 不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 可用区 可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。 请根据实际情况选择可用区。RocketMQ实例创建成功后,不支持修改可用区。 设置套餐规格。 综合推荐:分布式消息服务RocketMQ版已经预设了几种规格,请根据需要选择。 磁盘类型和磁盘大小根据实际需求进行设置。RocketMQ实例创建后,磁盘类型不支持修改。 磁盘类型支持高I/O、超高I/O、通用型SSD和极速型SSD。对于测试环境使用的RocketMQ实例,推荐选择高I/O磁盘。对于生产环境使用的RocketMQ实例,推荐选择通用型SSD及以上的磁盘规格。具体如何选择磁盘类型可以参考磁盘类型及性能介绍和磁盘类型对RocketMQ实例性能有什么影响?。 图1 综合推荐 规格测算:系统根据您输入的参数(Topic个数、生产TPS峰值、消费TPS峰值、平均消息大小和日生产消息数),为您计算出不同规格所需的代理个数和代理存储空间,您根据实际情况选择。5.x版本不支持规格测算。 图2 规格测算 设置网络信息。 表5 实例网络参数说明 参数名称 说明 虚拟私有云 选择已经创建好的或共享的虚拟私有云。 虚拟私有云可以为您的RocketMQ实例构建隔离的、能自主配置和管理的虚拟网络环境。您可以单击右侧的“管理虚拟私有云”,跳转到网络控制台的“虚拟私有云”页面,查看或创建虚拟私有云。 RocketMQ实例创建完成后,不支持修改虚拟私有云。 子网 选择已经创建好的或共享的子网。 子网在RocketMQ实例创建完成后,不支持修改。 子网开启IPv6后,RocketMQ实例支持IPv6功能。 IPv6 子网开启IPv6后,页面才显示此参数。开启IPv6后,客户端可以使用IPv6地址连接RocketMQ实例。 RocketMQ实例创建完成后,不支持修改IPv6开关。 此功能仅在“华东二”区域上线。 使用内网IPv6方式连接实例需要通过 VPC终端节点 实现,使用期间会产生VPC终端节点的费用,收费标准请参考计费说明。 安全组 选择已经创建好的安全组。 安全组是一组对RocketMQ实例的访问规则的集合。您可以单击右侧的“管理安全组”,跳转到网络控制台的“安全组”页面,查看或创建安全组。 客户端连接RocketMQ实例前,请根据不同的连接方式配置对应的安全组规则,否则会连接失败。具体的安全组规则请参考表3。 设置实例访问方式。 表6 实例访问方式参数说明 参数名称 说明 公网访问 通过公网连接RocketMQ实例。 默认为关闭状态。开启公网访问后,还需要为RocketMQ实例设置对应的IPv4弹性IP地址。 加密方式 RocketMQ实例支持的接入加密方式。 取值范围: SSL:服务端与客户端之间通过密文传输,安全性较高,性能较低。 PLAINTEXT:服务端与客户端之间通过明文传输,安全性较低,性能较高。 PERMISSIVE:服务端与客户端之间即能通过明文传输又能通过密文传输,传输方式由客户端决定。 请根据实际情况选择。 设置高级配置。 表7 高级配置参数说明 参数名称 说明 实例名称 名称支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。 企业项目 该参数针对企业用户使用。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。 ACL访问控制 开启ACL访问控制可以对生产消息和消费消息进行权限管理。 关闭ACL访问控制后,将无法使用用户管理功能。 标签 标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。 如您的组织已经设定分布式消息服务RocketMQ版的相关标签策略,则需按照标签策略规则为RocketMQ实例添加标签。标签如果不符合标签策略的规则,则可能会导致RocketMQ实例创建失败,请联系组织管理员了解标签策略详情。 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标签键值对。另外,您可以单击“创建预定义标签”,跳转到标签管理服务页面,查看已经预定义的标签,或者创建新的标签。 您也可以直接单击“添加新标签”,在“标签键”和“标签值”中设置标签信息。 当前每个RocketMQ实例最多支持添加20个不同标签,标签的命名规格,请参考配置RocketMQ实例标签章节。 描述 设置实例的描述信息,长度为0~1024个字符。 设置实例购买时长。 当选择了“包年/包月”付费模式时,页面才显示“购买时长”参数,您可以根据业务需要选择购买时长。如果勾选“自动续费”,在“包年/包月”资源到期后,自动进行续费。 按月购买的实例:自动续费周期为1个月。 按年购买的实例:自动续费周期为1年。 单击“确认订单”,进入“确认配置”页面。 确认实例信息无误且阅读并同意《华为云用户协议》后,如果“计费模式”选择“包年/包月”,单击“去支付”。根据界面提示信息,支付费用。如果“计费模式”选择“按需付费”,单击“提交”。 在实例列表页面,查看RocketMQ实例是否创建成功。 创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。 当实例的“状态”变为“运行中”时,说明实例创建成功。 当实例的“状态”变为“创建失败”,请参考删除RocketMQ实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。 创建失败的实例,不会占用其他资源。
-
自定义购买RocketMQ实例 进入购买RocketMQ实例页面。 在“自定义购买”页签中,设置实例基础配置。 表8 实例基础配置参数说明 参数名称 说明 计费模式 RocketMQ实例的计费模式。 取值范围: 包年/包月:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。 按需付费:一种后付费模式,即先使用再付费,按照RocketMQ实例实际使用时长计费,秒级计费,按小时结算。 区域 不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 可用区 可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。 请根据实际情况选择可用区。RocketMQ实例创建成功后,不支持修改可用区。 设置实例规格信息。 表9 实例规格参数说明 参数名称 说明 规格选择模式 取值仅包含“默认”。 版本 RocketMQ的版本号。 取值包含“5.x”和“4.8.0”。 RocketMQ实例创建成功后,不支持修改版本号。 实例类型 RocketMQ实例的类型。 5.x版本取值包含“基础版”和“专业版”,4.8.0版本取值固定为“默认”。 说明: 专业版目前还处于公测阶段。 部署架构 根据需求选择“单机”或“集群”。4.8.0版本仅支持“集群”。 代理/实例规格 请根据业务需求选择相应的代理/实例规格。 5.x版本时,该参数显示为“实例规格”。 4.8.0版本时,该参数显示为“代理规格”。 请根据实际情况选择。 代理数量 选择代理数量。 4.8.0版本时才显示该参数。 单个代理存储空间/存储空间 存储空间用于存储消息(包括副本中的消息)、日志和元数据,建议根据业务消息体积、副本数量以及预留磁盘大小选择存储空间大小。 5.x版本时,该参数显示为“存储空间”。 4.8.0版本时,该参数显示为“单个代理存储空间”。 磁盘类型和磁盘大小根据实际需求进行设置。RocketMQ实例创建后,磁盘类型不支持修改。 磁盘类型支持高I/O、超高I/O、通用型SSD和极速型SSD。对于测试环境使用的RocketMQ实例,推荐选择高I/O磁盘。对于生产环境使用的RocketMQ实例,推荐选择通用型SSD及以上的磁盘规格。具体如何选择磁盘类型可以参考磁盘类型及性能介绍和磁盘类型对RocketMQ实例性能有什么影响?。 设置网络信息。 表10 实例网络参数说明 参数名称 说明 虚拟私有云 选择已经创建好的或共享的虚拟私有云。 虚拟私有云可以为您的RocketMQ实例构建隔离的、能自主配置和管理的虚拟网络环境。您可以单击右侧的“管理虚拟私有云”,跳转到网络控制台的“虚拟私有云”页面,查看或创建虚拟私有云。 RocketMQ实例创建完成后,不支持修改虚拟私有云。 子网 选择已经创建好的或共享的子网。 子网在RocketMQ实例创建完成后,不支持修改。 子网开启IPv6后,RocketMQ实例支持IPv6功能。 IPv6 子网开启IPv6后,页面才显示此参数。开启IPv6后,客户端可以使用IPv6地址连接RocketMQ实例。 RocketMQ实例创建完成后,不支持修改IPv6开关。 此功能仅在“华东二”区域上线。 使用内网IPv6方式连接实例需要通过VPC终端节点实现,使用期间会产生VPC终端节点的费用,收费标准请参考计费说明。 安全组 选择已经创建好的安全组。 安全组是一组对RocketMQ实例的访问规则的集合。您可以单击右侧的“管理安全组”,跳转到网络控制台的“安全组”页面,查看或创建安全组。 客户端连接RocketMQ实例前,请根据不同的连接方式配置对应的安全组规则,否则会连接失败。具体的安全组规则请参考表3。 设置实例访问方式。 表11 实例访问方式参数说明 参数名称 说明 公网访问 通过公网连接RocketMQ实例。 默认为关闭状态。开启公网访问后,还需要为RocketMQ实例设置对应的IPv4弹性IP地址。 加密方式 RocketMQ实例支持的接入加密方式。 取值范围: SSL:服务端与客户端之间通过密文传输,安全性较高,性能较低。 PLAINTEXT:服务端与客户端之间通过明文传输,安全性较低,性能较高。 PERMISSIVE:服务端与客户端之间即能通过明文传输又能通过密文传输,传输方式由客户端决定。 请根据实际情况选择。 设置高级配置。 表12 高级配置参数说明 参数名称 说明 实例名称 名称支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。 企业项目 该参数针对企业用户使用。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。 ACL访问控制 开启ACL访问控制可以对生产消息和消费消息进行权限管理。 关闭ACL访问控制后,将无法使用用户管理功能。 标签 标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。 如您的组织已经设定分布式消息服务RocketMQ版的相关标签策略,则需按照标签策略规则为RocketMQ实例添加标签。标签如果不符合标签策略的规则,则可能会导致RocketMQ实例创建失败,请联系组织管理员了解标签策略详情。 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标签键值对。另外,您可以单击“创建预定义标签”,跳转到标签管理服务页面,查看已经预定义的标签,或者创建新的标签。 您也可以直接单击“添加新标签”,在“标签键”和“标签值”中设置标签信息。 当前每个RocketMQ实例最多支持添加20个不同标签,标签的命名规格,请参考配置RocketMQ实例标签章节。 描述 设置实例的描述信息,长度为0~1024个字符。 设置实例购买时长。 当选择了“包年/包月”付费模式时,页面才显示“购买时长”参数,您可以根据业务需要选择购买时长。如果勾选“自动续费”,在“包年/包月”资源到期后,自动进行续费。 按月购买的实例:自动续费周期为1个月。 按年购买的实例:自动续费周期为1年。 在页面右侧“配置概要”中,查看已选择的实例配置。 确认配置无误后,单击“确认订单”,进入“确认配置”页面。 确认实例信息无误且阅读并同意《华为云用户协议》后,如果“计费模式”选择“包年/包月”,单击“去支付”。根据界面提示信息,支付费用。如果“计费模式”选择“按需付费”,单击“提交”。 在实例列表页面,查看RocketMQ实例是否创建成功。 创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。 当实例的“状态”变为“运行中”时,说明实例创建成功。 当实例的“状态”变为“创建失败”,请参考删除RocketMQ实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。 创建失败的实例,不会占用其他资源。
-
准备实例依赖资源 在购买RocketMQ实例前,您需要提前准备相关依赖资源,包括虚拟私有云(Virtual Private Cloud,以下简称VPC)、子网和安全组,并配置安全组策略。每个RocketMQ实例都部署在某个VPC中,并绑定具体的子网和安全组,通过这样的方式为RocketMQ提供一个隔离的、用户自主配置和管理的虚拟网络环境以及安全保护策略,提升实例的安全性。 RocketMQ实例所需资源的具体要求和创建指导如表1所示。 表1 RocketMQ实例依赖资源 准备资源 要求 创建指导 VPC和子网 RocketMQ实例可以使用当前账号下已创建的VPC和子网,也可以使用新创建的VPC和子网,还可以使用共享VPC和子网,请根据实际需要进行配置。 共享VPC是基于 资源访问管理 (Resource Access Manager,简称 RAM )服务的机制,VPC的所有者可以将VPC内的子网共享给一个或者多个账号使用。通过共享VPC功能,可以简化网络配置,帮助您统一配置和运维多个账号下的资源,有助于提升资源的管控效率,降低运维成本。有关VPC子网共享的更多信息,请参见共享VPC。 在创建VPC和子网时应注意如下要求: 创建的VPC与使用的RocketMQ实例应在相同的区域。 创建VPC和子网时,配置参数建议使用默认配置。 创建VPC和子网的操作指导请参考创建虚拟私有云和子网,若需要在已有VPC上创建和使用新的子网,请参考为虚拟私有云创建新的子网。 安全组 不同的RocketMQ实例可以重复使用相同的安全组,也可以使用不同的安全组,请根据实际需要进行配置。 使用RocketMQ实例必须添加表2或表3所示安全组规则,其他规则请根据实际需要添加。 创建安全组后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问RocketMQ实例,无需添加表2或表3的规则。 创建安全组的操作指导请参考创建安全组,为安全组添加规则的操作指导请参考添加安全组规则。 弹性IP地址 开启公网访问时,才需要配置弹性IP地址。 在创建弹性IP地址时,应注意如下要求: 创建的弹性IP地址与RocketMQ实例在相同的区域。 RocketMQ控制台无法识别开启IPv6转换功能的弹性IP地址。 创建弹性IP地址的操作指导请参考申请弹性公网IP。 表2 安全组规则(RocketMQ实例4.8.0版本) 方向 协议 端口 源地址 说明 入方向 TCP 8100 RocketMQ客户端所在的IP地址或地址段。 使用TCP协议,通过内网访问元数据节点的端口。 入方向 TCP 8200 使用TCP协议,通过公网访问元数据节点的端口。 入方向 TCP 10100-10199 使用TCP协议,通过内网访问业务节点的端口。 入方向 TCP 10101-10199 使用TCP协议,通过公网访问业务节点的端口。 表3 安全组规则(RocketMQ实例5.x版本) 方向 协议 端口 源地址 说明 入方向 TCP 8100 RocketMQ客户端所在的IP地址或地址段。 使用TCP协议,通过内网访问实例的端口。 入方向 TCP 8200 使用TCP协议,通过公网访问实例的端口。 入方向 TCP 8080 使用gRPC协议,通过内网访问实例的端口。 入方向 TCP 8081 使用gRPC协议,通过公网访问实例的端口。 入方向 TCP 10100 使用TCP协议,通过内网访问业务节点的端口。 入方向 TCP 10101 使用TCP协议,通过公网访问业务节点的端口。
-
开启RocketMQ消息轨迹(Go) 在客户端开启消息轨迹的方法如下: 执行以下命令,检查是否已安装Go。 go version 返回如下回显时,说明Go已经安装。 [root@ecs-test sarama]# go versiongo version go1.16.5 linux/amd64 如果未安装Go,请下载并安装。 进入Go脚本所在的bin目录下。 执行“touch go.mod”命令新建一个“go.mod”,并增加以下代码,添加依赖。 module rocketmq-example-gogo 1.13require (github.com/apache/rocketmq-client-go/v2 v2.1.0) 生产者开启消息轨迹(以下加粗内容需要替换为实例自有信息,请根据实际情况替换)。 package mainimport ("context""fmt""os""time""github.com/apache/rocketmq-client-go/v2""github.com/apache/rocketmq-client-go/v2/primitive""github.com/apache/rocketmq-client-go/v2/producer")func main() {namesrvs := []string{"192.168.0.1:8100"}traceCfg := &primitive.TraceConfig{Access: primitive.Local,Resolver: primitive.NewPassthroughResolver(namesrvs),}p, _ := rocketmq.NewProducer(producer.WithNsResolver(primitive.NewPassthroughResolver([]string{"192.168.0.1:8100"})),producer.WithRetry(2),producer.WithTrace(traceCfg)) // 增加此行代码表示开启了消息轨迹。err := p.Start()if err != nil {fmt.Printf("start producer error: %s", err.Error())os.Exit(1)}res, err := p.SendSync(context.Background(), primitive.NewMessage("topic1",[]byte("Hello RocketMQ Go Client!")))if err != nil {fmt.Printf("send message error: %s\n", err)} else {fmt.Printf("send message success: result=%s\n", res.String())}time.Sleep(10 * time.Second)err = p.Shutdown()if err != nil {fmt.Printf("shutdown producer error: %s", err.Error())}} 消费者开启消息轨迹(以下加粗内容需要替换为实例自有信息,请根据实际情况替换)。 package mainimport ("context""fmt""os""time""github.com/apache/rocketmq-client-go/v2""github.com/apache/rocketmq-client-go/v2/consumer""github.com/apache/rocketmq-client-go/v2/primitive")func main() {namesrvs := []string{"192.168.0.1:8100"}traceCfg := &primitive.TraceConfig{Access: primitive.Local,Resolver: primitive.NewPassthroughResolver(namesrvs),}c, _ := rocketmq.NewPushConsumer(consumer.WithGroupName("testGroup"),consumer.WithNsResolver(primitive.NewPassthroughResolver([]string{"192.168.0.1:8100"})),consumer.WithTrace(traceCfg), // 增加此行代码表示开启了消息轨迹。)err := c.Subscribe("TopicTest", consumer.MessageSelector{}, func(ctx context.Context,msgs ...*primitive.MessageExt) (consumer.ConsumeResult, error) {fmt.Printf("subscribe callback: %v \n", msgs)return consumer.ConsumeSuccess, nil})if err != nil {fmt.Println(err.Error())}// Note: start after subscribeerr = c.Start()if err != nil {fmt.Println(err.Error())os.Exit(-1)}time.Sleep(time.Hour)err = c.Shutdown()if err != nil {fmt.Printf("shutdown Consumer error: %s", err.Error())}}
-
开启RocketMQ消息轨迹(Java) 在客户端开启消息轨迹的方法如下: 生产者开启消息轨迹(除事务消息以外的消息类型) 构造函数的“enableMsgTrace”参数传入“true”,例如: DefaultMQProducer producer = new DefaultMQProducer("ProducerGroupName", true); 生产者开启消息轨迹(事务消息) 构造函数的“enableMsgTrace”参数传入“true”,例如: TransactionMQProducer producer = new TransactionMQProducer(null, "ProducerGroupName", null, true, null); 消费者开启消息轨迹 构造函数的“enableMsgTrace”参数传入“true”,例如: DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("ConsumerGroupName", true);
-
CTS 支持的DMS for RocketMQ操作 表1 云审计 服务支持的分布式消息服务RocketMQ版操作列表 操作名称 资源类型 事件名称 创建Topic成功 reliability RocketMQ_Topic_CreationSuccess 创建Topic失败 reliability RocketMQ_Topic_CreationFailure 修改Topic成功 reliability RocketMQ_Topic_ModifySuccess 修改Topic失败 reliability RocketMQ_Topic_ModifyFailure 删除Topic成功 reliability RocketMQ_Topic_DeletionSuccess 删除Topic失败 reliability RocketMQ_Topic_DeletionFailure 批量删除Topic成功 reliability RocketMQ_Batch_Topic_DeletionSuccess 批量删除Topic失败 reliability RocketMQ_Batch_Topic_DeletionFailure 批量修改Topic成功 reliability RocketMQ_Batch_Topic_ModifySuccess 批量修改Topic失败 reliability RocketMQ_Batch_Topic_ModifyFailure 创建消费组成功 reliability RocketMQ_Create_GroupSuccess 创建消费组失败 reliability RocketMQ_Create_GroupFailure 编辑消费组成功 reliability RocketMQ_Group_ModifySuccess 编辑消费组失败 reliability RocketMQ_Group_ModifyFailure 删除消费组成功 reliability RocketMQ_Group_DeletionSuccess 删除消费组失败 reliability RocketMQ_Group_DeletionFailure 批量删除消费组成功 reliability RocketMQ_Batch_Group_DeletionSuccess 批量删除消费组失败 reliability RocketMQ_Batch_Group_DeletionFailure 批量编辑消费组成功 reliability RocketMQ_Batch_Group_ModifySuccess 批量编辑消费组失败 reliability RocketMQ_Batch_Group_ModifyFailure 重启实例节点成功 reliability restartInstanceBrokerSuccess 重启实例节点失败 reliability restartInstanceBrokerFailure 删除后台任务成功 reliability deleteDMSBackendJobSuccess 删除后台任务失败 reliability deleteDMSBackendJobFailure 创建DMS实例订单成功 reliability createDMSInstanceOrderSuccess 创建DMS实例订单失败 reliability createDMSInstanceOrderFailure 提交修改DMS实例订单请求成功 reliability modifyDMSInstanceOrderSuccess 提交修改DMS实例订单请求失败 reliability modifyDMSInstanceOrderFailure 提交扩容实例请求成功 reliability extendDMSInstanceSuccess 提交扩容实例请求失败 reliability extendDMSInstanceFailure 删除创建失败的DMS实例成功 reliability deleteDMSCreateFailureInstancesSuccess 删除创建失败的DMS实例失败 reliability deleteDMSCreateFailureInstancesFailure 提交批量删除DMS实例请求成功 reliability batchDeleteDMSInstanceSuccess 提交批量删除DMS实例请求失败 reliability batchDeleteDMSInstanceFailure 提交修改DMS实例信息请求成功 reliability modifyDMSInstanceInfoSuccess 提交修改DMS实例信息请求失败 reliability modifyDMSInstanceInfoFailure 批量删除DMS实例任务 reliability batchDeleteDMSInstanceTask 解冻DMS实例任务执行成功 reliability unfreezeDMSInstanceTaskSuccess 解冻DMS实例任务执行失败 reliability unfreezeDMSInstanceTaskFailure 冻结DMS实例任务执行成功 reliability freezeDMSInstanceTaskSuccess 冻结DMS实例任务执行失败 reliability freezeDMSInstanceTaskFailure 删除DMS实例任务执行成功 reliability deleteDMSInstanceTaskSuccess 删除DMS实例任务执行失败 reliability deleteDMSInstanceTaskFailure 创建DMS实例任务执行成功 reliability createDMSInstanceTaskSuccess 创建DMS实例任务执行失败 reliability createDMSInstanceTaskFailure 扩容DMS实例任务执行成功 reliability extendDMSInstanceTaskSuccess 扩容DMS实例任务执行失败 reliability extendDMSInstanceTaskFailure 修改DMS实例信息任务执行成功 reliability modifyDMSInstanceInfoTaskSuccess 修改DMS实例信息任务执行失败 reliability modifyDMSInstanceInfoTaskFailure 回收站恢复实例成功 reliability out_recycleTaskSuccess 回收站恢复实例失败 reliability out_recycleTaskFailure
-
命令行模式连接实例 登录客户端所在服务器。 下载“rocketmq-tutorial”示例软件包。 wget https://dms-demos.obs.cn-north-1.myhuaweicloud.com/rocketmq-tutorial.zip 解压“rocketmq-tutorial”。 unzip rocketmq-tutorial.zip (可选)如果RocketMQ实例开启了ACL访问控制,执行mqadmin命令时,需要鉴权。 切换到解压后的软件包目录下,在“conf/tools.yml”文件中,增加如下内容。 accessKey:*******secretKey:******* accessKey和secretKey表示在控制台“用户管理”页面,创建的用户名和密钥,具体可参见创建用户。 进入“rocketmq-tutorial/bin”目录。 cd rocketmq-tutorial/bin 运行生产普通消息示例。 JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "${连接地址}" -t ${Topic名称} -p "hello rocketmq" 参数说明如下: 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。 Topic名称:RocketMQ实例下创建的Topic名称。 示例如下,其中“11.xxx.xxx.89:8200;11.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。 JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test -p "hello rocketmq" 使用Ctrl+C命令退出。 运行消费普通消息示例。 JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "${连接地址}" -t ${Topic名称} 参数说明如下: 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。 Topic名称:RocketMQ实例下创建的Topic名称。 示例如下,其中“11.xxx.xxx.89:8200;11.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。 JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test 如需停止消费使用Ctrl+C命令退出。 运行生产带消息轨迹的消息示例。 JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "${连接地址}" -t ${Topic名称} -p "hello rocketmq" -m true 参数说明如下: 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。 Topic名称:RocketMQ实例下创建的Topic名称。 示例如下,其中“11.xxx.xxx.89:8200;11.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。 JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test -p "hello rocketmq" -m true 使用Ctrl+C命令退出。 运行消费消息示例,并发送消息轨迹。 JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "${连接地址}" -t ${Topic名称} -m true 参数说明如下: 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。 Topic名称:RocketMQ实例下创建的Topic名称。 示例如下,其中“11.xxx.xxx.89:8200;11.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。 JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test -m true 使用Ctrl+C命令退出。
-
前提条件 已创建RocketMQ实例,并记录实例详情中的“连接地址”(内网访问)/“公网连接地址”(公网访问)。内网访问的连接端口为8100,公网环境下访问的连接端口为8200。 客户端和RocketMQ实例之间网络已互通,具体网络要求参见连接RocketMQ网络要求页面。 已配置安全组。 已创建Topic。 客户端所在服务器已安装Java Development Kit 1.8.111或以上版本,并完成环境变量配置。
-
RocketMQ元数据迁移概述 RocketMQ元数据包括Topic和消费组信息,但不包括Topic和消费组生产消息、消费消息的记录。当您需要使用相同的Topic和消费组时,可通过元数据迁移操作将已有的Topic和消费组信息迁移到指定的RocketMQ实例中,无需再手动创建。 RocketMQ业务迁移主要涉及以下场景: 迁移其他RocketMQ的元数据到华为云上RocketMQ实例。其他RocketMQ元数据包括如下内容: 其他厂商的RocketMQ元数据 自建RocketMQ实例的元数据 华为云上另一个RocketMQ实例的元数据 迁移RabbitMQ的元数据到华为云上RocketMQ实例。 父主题: 迁移元数据
-
测试结果参考 表4 测试结果参考 性能指标 rocketmq.4u8g.cluster.small rocketmq.4u8g.cluster rocketmq.8u16g.cluster rocketmq.12u24g.cluster 消息生产速率 56532 个/秒 62443 个/秒 92476 个/秒 138369 个/秒 消息消费速率 53793 个/秒 60106 个/秒 90563 个/秒 116154 个/秒 网络入流量 91 MB/s 99.64 MB/s 143.64 MB/s 238.19 MB/s 网络出流量 223 MB/s 314 MB/s 451 MB/s 674 MB/s CPU使用率 86% 90% 81% 81% CPU核均负载 2.77 3.03 1.73 1.73 内存使用率 63% 55% 49% 47%
-
测试命令 生产命令: sh producer.sh -n "${连接地址}" -t ${Topic名称} -s ${消息大小} -w ${生产者线程数} 连接地址:购买RocketMQ实例后,获取实例的连接地址。 Topic名称:创建Topic时设置的Topic名称。 消息大小:1KB 生产者线程数:测试rocketmq.4u8g.cluster.small、rocketmq.4u8g.cluster和rocketmq.8u16g.cluster时,生产者线程数输入256,测试rocketmq.12u24g.cluster时,生产者线程数输入640。 消费命令: sh consumer.sh -n "${连接地址}" -t ${Topic名称} -g ${消费组名称} 连接地址:购买RocketMQ实例后,获取实例的连接地址。 Topic名称:创建Topic时设置的Topic名称。 消费组名称:创建消费组时设置的消费组名称。
-
测试环境 进行测试前,您需要先构建如下的测试环境: 购买如表1所示实例,购买步骤请参考购买实例。 表1 实例参数 名称 规格 代理数量 存储空间 ACL访问 公网访问 rocketmq-01 rocketmq.4u8g.cluster.small 1 高I/O 300GB 关闭 关闭 rocketmq-02 rocketmq.4u8g.cluster 1 高I/O 300GB 关闭 关闭 rocketmq-03 rocketmq.8u16g.cluster 1 高I/O 300GB 关闭 关闭 rocketmq-04 rocketmq.12u24g.cluster 1 高I/O 300GB 关闭 关闭 创建如表2所示Topic,创建步骤请参考创建Topic。 表2 Topic参数 名称 权限 关联代理 队列个数 topic-01 发布+订阅 broker-0 8 创建如表3所示消费组,创建步骤请参考创建消费组。 表3 消费组参数 名称 关联代理 最大重试次数 是否允许以广播模式消费 group-01 broker-0 16 否 购买1台E CS 服务器(区域、可用区、虚拟私有云、子网、安全组与RocketMQ实例保持一致,Linux系统),具体步骤请参考购买弹性云服务器。 在ECS中安装Java JDK,并配置JAVA_HOME与PATH环境变量。 export JAVA_HOME=/root/jdk1.8.0_231 export PATH=$JAVA_HOME/bin:$PATH 下载测试工具。 wget https://dist.apache.org/repos/dist/release/rocketmq/5.1.4/rocketmq-all-5.1.4-bin-release.zip 解压测试工具。 unzip rocketmq-all-5.1.4-bin-release.zip
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格