检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
需求使用分布式消息服务RabbitMQ版提供的一系列常用实践。 表1 常用最佳实践 实践 描述 设置队列负载均衡 扩容节点、删除队列可能会导致队列在各个节点分布不均衡,本文介绍如何设置队列负载均衡。
配置仲裁队列 在声明队列时,将队列的“x-queue-type”参数设置为“quorum”。此参数只能在声明队列时设置,不能通过Policy设置。 仲裁队列默认的复制因子是5。 以下示例演示在Java客户端设置仲裁队列。 ConnectionFactory factory = n
优先级队列 √ √ 插件 √ × Web UI √ × 重置实例密码 √ × 变更实例规格 √ √ 用户管理 在Web UI设置 在RabbitMQ控制台设置 消息查询 × √
Routing Key 设置Key值字符串,用于告知Exchange应该将消息投递到哪些Queue中。 Direct Exchange和Topic Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的Queue中。如果不设置Routing
arguments); 以下示例演示在RabbitMQ WebUI页面设置单一活跃消费者。 图2 设置单一活跃消费者 设置完成后,在“Queues”页面查看队列特性是否包含单一活跃消费者。如图3所示,“SAC”即表示队列已设置单一活跃消费者。 图3 查看队列特性 父主题: 管理RabbitMQ
queueDeclare方法的时候在参数中设置,也可以通过Policy的方式设置。如果一个队列同时使用这两种方式设置的话,Policy的方式具备更高的优先级。 以下示例演示在Java客户端通过调用channel.queueDeclare设置惰性队列。 Map<String, Object>
后重新为消费者创建新的通道继续消费。 提高RabbitMQ性能 本章节介绍如何通过设置队列长度、集群负载均衡、优先队列数量等参数,实现RabbitMQ的高性能。 设置队列负载均衡 本章节介绍如何设置节点间队列的负载均衡,提升集群的利用率。 通过消息幂等实现消息去重 本章节描述了重
服务韧性 DMS for RabbitMQ提供了3级可靠性架构,通过跨AZ容灾、AZ内实例容灾、实例数据多副本技术方案,保障服务的持久性和可靠性。 表1 DMS for RabbitMQ可靠性架构 可靠性方案 简要说明 跨AZ容灾 DMS for RabbitMQ提供跨AZ类型实
进入“费用中心 > 续费管理”页面。 自定义查询条件。 可在“到期转按需项”页签查询已经设置到期转按需的资源。 可对“手动续费项”、“自动续费项”、“到期不续费项”页签的资源设置到期转按需的操作。 设置包年/包月资源到期后转按需。 单个资源到期转按需:选择需要更改计费模式的RabbitMQ实例,单击操作列“更多
图3 设置Vhost策略 表1 策略参数说明 参数 说明 Virtual Host 设置策略所应用的Vhost。如果为指定的Vhost设置,请在“Virtual Host”选择3创建的Vhost;如果没有,则默认为“/”。 Name 策略的名称,用户自定义。 Pattern Queue的匹配模式(正则表达式)。
Header Exchange 工作原理: 将一个Queue绑定到某个Header Exchange上,并设置绑定属性键值对。 将消息发送给Header Exchange时,需要设置消息的Header属性键值对,Header Exchange根据消息Headers属性键值对和绑定属性键值对的匹配情况路由消息。
副本通过数据同步的方式保持数据一致,当网络发生异常或节点故障时,通过冗余副本自动故障切换,并且故障恢复后会从leader副本进行数据同步,保持数据一致性。 设置实例镜像队列 设置实例仲裁队列 数据持久化 业务系统日常运行中可能出现一些小概率的异常事件。部分可靠性要求非常高的业务系统,除了要求实例高可用,还要
如果您持有多台到期日不同的RabbitMQ实例,可以将到期日统一设置到一个日期,便于日常管理和续费。 图5展示了用户将两个不同时间到期的资源,同时续费一个月,并设置“统一到期日”后的效果对比。 图5 统一到期日 更多关于统一到期日的规则请参见如何设置统一到期日。 父主题: 续费
消息问题 RabbitMQ实例支持延时消息队列么? 消息堆积对业务的影响及解决办法 消息的最长保留时间是多久? 消息创建时间在哪设置? RabbitMQ生产消息的最大长度是多少?
对等连接 客户端连接RabbitMQ实例前,需要放通如下安全组,否则会连接失败。 创建安全组后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问RabbitMQ实例,无需添加表2或表3的规则。 表2 安全组规则(RabbitMQ
RabbitMQ实例是否支持不同的子网? 支持。 客户端与实例在相同VPC内,可以跨子网段访问。同一个VPC内的子网默认可以进行通信。 父主题: 连接问题
同时其连接和释放依赖于心跳机制,过多的临时队列以及过多连接数会导致内存高水位,从而导致节点状态异常。 消减措施 已开启插件的实例,建议参考设置RabbitMQ告警规则,配置相应的告警,提前预知并消减风险。 替代方案 建议使用设备接入IoTDA服务替代MQTT插件。 下线影响 未开
选择“明细账单”,在筛选条件中选择“资源ID”,并输入3复制的资源ID,按“Enter”即可搜索该资源的账单。 图2 查询资源账单 这里设置的统计维度为“按使用量”,统计周期为“按账期”,您也可以设置其他统计维度和周期,详细介绍请参见流水与明细账单。
说明 Name 策略的名称,用户自定义。 Pattern 队列匹配模式,填写队列名称,会匹配包含此队列名称的队列。 例如:设置为“.*”时,表示匹配所有队列。设置为“.*queue-name”时,表示匹配队列名称包含queue-name的所有队列。 Apply to 策略所适用的目标,选择“Queues”。
实例ID。 请求参数 无 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 access_user String 认证用户名,只能由英文字母、数字、中划线组成,长度为4~64的字符。 broker_num Integer 代理个数。 name String