检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
查看RabbitMQ监控数据 云监控对分布式消息服务RabbitMQ版的运行状态进行日常监控,可以通过控制台直观的查看分布式消息服务RabbitMQ版各项监控指标。 前提条件 已创建RabbitMQ实例,且实例中有可消费的消息。 查看RabbitMQ监控数据 登录管理控制台。 在
开启RabbitMQ ACL访问 通过ACL可以实现对RabbitMQ实例中生产者和消费者身份的精确识别,为不同用户赋予不同的Vhost和Vhost下不同资源的权限,以达到不同用户之间权限隔离的目的。开启ACL权限控制功能后,生产消息和消费消息时,需要鉴权。 仅RabbitMQ
itMQ实例、磁盘存储空间等资源将会自动释放,数据也可能会丢失。续费包括手动续费和自动续费两种方式,您可以根据需求选择。了解更多关于续费的信息,请参见续费概述。 费用账单 您可以在“费用中心 > 账单管理”查看与RabbitMQ实例相关的流水和明细账单,以便了解您的消费情况。如需了解具体操作步骤,请参见费用账单。
如果配置了不同安全组,可参考如下配置方式: 假设ECS、RabbitMQ实例分别配置了安全组:sg-53d4、Default_All。 以下规则,远端可使用安全组,也可以使用具体的IP地址。 ECS所在安全组需要增加如下规则,以保证客户端能正常访问RabbitMQ实例。 图1 配置ECS安全组 表1 安全组规则
重置RabbitMQ实例密码 如果您忘记了创建实例时设置的密码,可以通过重置密码功能,重新设置一个新的密码,使用新密码连接RabbitMQ实例。 约束与限制 RabbitMQ AMQP-0-9-1版本不支持重置实例密码。 前提条件 RabbitMQ实例处于“运行中”状态时,才能重置密码。
配置RabbitMQ实例的公网访问 当您需要通过公网地址访问RabbitMQ实例时,可开启实例的公网访问功能,并设置弹性IP地址。当业务不再使用公网访问功能时,也可以关闭实例的公网访问功能。 公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,因此建议仅在业务开发测试阶段开启公网访问RabbitMQ实例。
在实际业务场景中,RabbitMQ实例存在多个生产者和消费者,在业务迁移时,不会迁移数据,只是通过逐个增加/关闭消费者、生产者的方式迁移实例,这种迁移方式可以实现业务无感迁移。 前提条件 已创建目标RabbitMQ实例,具体请参考购买RabbitMQ实例。 实施方案(双读模式迁移实例) 将原Ra
查看和修改RabbitMQ实例基本信息 本节介绍如何在控制台查看RabbitMQ实例的详细信息,以及修改RabbitMQ实例的基本信息。 创建RabbitMQ实例成功后,您可以根据自己的业务情况对RabbitMQ实例的部分配置信息进行调整,包括实例名称、描述、安全组等。 前提条件 RabbitMQ实例的状态为“运行中”时,才能修改实例的基本信息。
RabbitMQ业务使用流程 分布式消息服务RabbitMQ版完全兼容开源RabbitMQ,为您提供即开即用、消息特性丰富、灵活路由、高可用、监控和告警等特性,广泛应用于秒杀、流控、系统解耦等场景。 使用RabbitMQ实例生产消费消息的流程如下图所示。 图1 RabbitMQ业务使用流程
在开始使用之前,请确保您安装的是最新版本的SDK。使用过时的版本可能会导致兼容性问题或无法使用最新功能。您可以在SDK中心查询版本信息。 表1提供了分布式消息服务RabbitMQ版支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言
配置RabbitMQ消息预取值 设置预取值可以限制未被确认的消息个数,一旦消费者中未被确认的消息数量达到设置的预取值,服务端将不再向此消费者发送消息,除非至少有一个未被确认的消息被确认。设置预取值本质上是一种对消费者进行流控的方法。 设置预取值时,需要考虑多种因素: 预取值设置太
版本支持公告 版本号说明 分布式消息服务RabbitMQ版的版本号格式为:消息引擎类型 x.y.z,其中消息引擎类型为RabbitMQ,版本号具体含义如图1所示。 图1 版本号示例 版本支持情况 分布式消息服务RabbitMQ版支持的版本:3.8.35、AMQP-0-9-1 版本生命周期
的代码本身逻辑耗费时间长导致了消费能力降低,这时候就会出现1中的情况从而导致消息堆积。 解决消息堆积的办法 生产速率较快,消费速率较慢:您可以通过以下方法解决。 增加消费者数量提高消费速率。 采用生产者确认的发送模式,并监控生产端消息生产速度和时长,当消息生产时长有明显增加时进行流控措施。
返回结果 状态码 请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。 状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。 对于管理员创建IAM用户接口,如果调用后返回状态码为“201”,则表示请求成功。 响应消息头 对应请
推荐使用最新Release版本的SDK。 客户端网络环境说明 客户端可以通过以下方式访问RabbitMQ实例: VPC内子网地址访问 如果客户端是云上ECS,与RabbitMQ实例处于同region同VPC,则可以直接访问RabbitMQ实例提供的VPC内子网地址。 VPC对等连接方式访问
rocketmqInstance表示RocketMQ实例配额。 tags表示标签的配额。 quota Integer 租户最大可以创建的实例个数,或者每个实例最大可以创建的标签个数。 used Integer 已创建的实例个数。 请求示例 GET https://{endpoint}/v1
对于经常受到消息峰值影响的应用程序,和对吞吐量要求较高的应用程序,建议在队列上设置最大长度。这样可以通过丢弃队列头部的消息来保持队列长度,队列长度永远不会大于最大长度设置。 最大长度可以通过Policy设置,也可以通过在队列声明时使用对应参数设置。 在RabbitMQ WebUI的Policy中设置。
nnel、消费者数、镜像队列、优先级队列、消息持久化和exchange类型等,在选择实例规格时,请根据业务模型压测结果选择。 一条连接最多可以开启2047个channel。 单机版实例可用于测试场景,不建议用于生产业务,暂不提供单机版实例的产品规格。 表2 RabbitMQ集群实例规格(AMQP-0-9-1专业版)
荐设置心跳超时时间为10s。 什么是心跳 RabbitMQ实例提供了心跳功能,以确保应用程序层及时发现中断的连接和完全无响应的对端。心跳还可以防止某些网络设备在一段时间内由于没有活动而中断TCP连接。开启心跳的方法为在连接上指定心跳超时时间。 心跳超时时间定义了对等TCP连接在多
扣款业务只应进行一次,商家也只应产生一条订单流水。这时候使用消息幂等就可以避免这个问题。 在实际应用中,导致消息重复的原因有网络闪断、客户端故障等,且可能发生在消息生产阶段,也可能发生在消息消费阶段。因此,可以将消息重复的场景分为以下两类: 生产者发送消息时发生消息重复: 生产者