检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
迁移原理 在实际业务场景中,RabbitMQ实例存在多个生产者和消费者,在业务迁移时,不会迁移数据,只是通过逐个增加/关闭消费者、生产者的方式迁移实例,这种迁移方式可以实现业务无感迁移。 前提条件 已创建目标RabbitMQ实例,具体请参考购买RabbitMQ实例。 实施方案(双读模式迁移实例)
RabbitMQ业务使用流程 分布式消息服务RabbitMQ版完全兼容开源RabbitMQ,为您提供即开即用、消息特性丰富、灵活路由、高可用、监控和告警等特性,广泛应用于秒杀、流控、系统解耦等场景。 使用RabbitMQ实例生产消费消息的流程如下图所示。 图1 RabbitMQ业务使用流程
消息队列应对秒杀大流量场景 系统解耦 以电商秒杀、抢购等流量短时间内暴增场景为例,传统做法是,用户下单后,订单系统发送查询请求到库存系统,等待库存系统返回请求结果给订单系统。如果库存系统发生故障,订单系统获取不到数据,订单失败。这种情况下,订单系统和库存系统两个子系统高耦合。 图4 系统高耦合 引
消息堆积对业务的影响及解决办法 消息堆积对业务的影响 过量的消息堆积可能会引起内存或磁盘告警,从而造成所有connection阻塞,进而影响到其他队列的使用,导致整体服务质量的下降。 消息堆积产生的原因 一般来说消息堆积是由于生产消息的速率远大于消费消息的速率所导致的。比如某个时
漏洞修复周期 高危漏洞: RabbitMQ社区发现漏洞并发布修复方案后,分布式消息服务RabbitMQ版一般在1个月内进行修复,修复策略与社区保持一致。 操作系统紧急漏洞按照操作系统修复策略和流程对外发布,一般在一个月内提供修复方案,用户自行修复。 其他漏洞: 按照版本正常升级流程解决。
设置队列负载均衡 方案概述 在RabbitMQ集群上,由于扩容节点、删除队列等原因,会导致队列在各个节点分布不均衡,从而造成部分节点压力过大,无法更有效地利用集群。 这时候需要手动设置节点间队列的负载均衡,提升集群的利用率。设置队列负载均衡的方法如下: 删除队列重建 通过Policy修改master节点方式
实践提供详细的方案描述和操作指导,帮助用户轻松使用RabbitMQ。 表1 RabbitMQ最佳实践一览表 最佳实践 说明 实现网络异常时RabbitMQ客户端自动恢复 本章节提供了客户端重连示例代码,使客户端在网络异常导致连接断开时自动恢复连接,降低网络故障对业务的影响。 实现
告警阈值:原始值>业务预期通道数 连续触发次数:1 告警级别:重要 通道数突增可能是流量变大的预警 需检查业务是否正常,可参考其他告警 Erlang进程数 告警阈值:原始值>业务预期进程数 连续触发次数:1 告警级别:重要 进程数突增可能是流量变大的预警 需检查业务是否正常,可参考其他告警
for RabbitMQ提供了3级可靠性架构,通过跨AZ容灾、AZ内实例容灾、实例数据多副本技术方案,保障服务的持久性和可靠性。 表1 DMS for RabbitMQ可靠性架构 可靠性方案 简要说明 跨AZ容灾 DMS for RabbitMQ提供跨AZ类型实例,支持跨AZ容灾,当
RabbitMQ实例创建后,支持通过插件的方式开启附加功能,实例创建后插件默认都是关闭状态。 RabbitMQ插件功能可用于测试和迁移业务等场景,不建议用于生产业务。因使用插件导致的可靠性问题,不在服务承诺的SLA范围内。详情请参考产品介绍 > 约束与限制。 RabbitMQ AMQP-0-9-1版本不支持插件功能。
通过消息幂等实现消息去重 方案概述 在RabbitMQ的业务处理过程中,如果消息重发了多次,消费者端对该重复消息消费多次与消费一次的结果是相同的,多次消费并没有对业务产生负面影响,那么这个消息处理过程是幂等的。消息幂等保证了无论消息被重复投递多少次,最终的处理结果都是一致的,避免了因消息重复而对业务产生影响。
Message Queuing Protocol)协议的开源服务,用于在分布式系统中存储转发消息。 RabbitMQ实例采用物理隔离的方式部署,租户独占RabbitMQ实例。支持用户自定义规格和自定义特性,您可以根据业务需要定制相应计算能力和存储空间的RabbitMQ实例。 操作视频 本视频演示购买RabbitMQ实例的操作。
单机RabbitMQ实例如何变更为集群实例? 单机RabbitMQ实例不支持变更为集群实例。如果您需要使用集群RabbitMQ实例,建议重新创建实例,然后将业务迁移到新RabbitMQ实例中。 父主题: 实例问题
快速发现和定位问题。 支持以下两种方案: 方案一:通过Management UI能够获取丰富的指标,但需要自建指标存储及展示的系统。 方案二:通过Prometheus+Grafana实现,该方案获取的指标较简单,维度不够精确,不利于快速定位业务问题。 消息轨迹 轨迹数据白屏化展示
替代方案 未开启延迟消息插件的RabbitMQ实例,如果需要使用延迟消息功能,建议使用RabbitMQ AMQP-0-9-1版本的定时消息或分布式消息服务RocketMQ版的定时/延迟消息代替。 已开启延迟消息插件的RabbitMQ实例,建议尽快将使用延迟消息的业务改造迁移至RabbitMQ
RabbitMQ实例的Web管理页面无法打开 可能原因:实例安全组配置不正确 解决方案:重新配置安全组,具体步骤如下。 在实例详情页面的“基本信息 > 网络”,单击安全组名称,跳转到安全组页面。 选择“入方向规则”,查看安全组入方向规则。 实例未开启SSL开关 如果是VPC内访问
硬盘、未绑定的EIP等。 计费模式优化 不同类型的业务对资源使用周期有不同的要求,为每一类业务确定合适的计费模式,灵活组合以达到最优效果。 针对长期稳定的成熟业务,使用包年/包月计费模式。 针对不能中断的短期、突增或不可预测的业务,使用按需计费模式。 实现自动化运维 华为云也提供
审计与日志 云审计服务(Cloud Trace Service,简称CTS),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录DMS
当您需要通过公网地址访问RabbitMQ实例时,可开启实例的公网访问功能,并设置弹性IP地址。当业务不再使用公网访问功能时,也可以关闭实例的公网访问功能。 公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,因此建议仅在业务开发测试阶段开启公网访问RabbitMQ实例。 前提条件 仅状态
入门实践 当您购买了RabbitMQ实例后,可以根据自身的业务需求使用分布式消息服务RabbitMQ版提供的一系列常用实践。 表1 常用最佳实践 实践 描述 设置队列负载均衡 扩容节点、删除队列可能会导致队列在各个节点分布不均衡,本文介绍如何设置队列负载均衡。