检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
实现RabbitMQ节点重启后消费者自动重连 方案概述 RabbitMQ的amqp-client虽然自带重连机制,但是自带的重连机制只会重试一次,重连失败后就不再执行。这时如果消费者没有做额外的重试机制,那么这个消费者就彻底断开与服务端的连接,无法消费消息。 amqp-clien
连接已开启SSL方式的RabbitMQ实例 连接RabbitMQ管理地址 05 实践 弹性云服务器(Elastic Cloud Server)是一种可随时自动获取、计算能力可弹性伸缩的云服务器。 部署web环境 什么是ECS 创建容器应用基本流程 快速创建一个kubernetes集群 3分钟创建一个游戏类容器应用
启弹性公网IP的ECS、安装JDK以及配置环境变量。 登录管理控制台,在左上角单击,选择“计算 > 弹性云服务器”,创建一个ECS实例。 创建ECS的具体步骤,请参考购买弹性云服务器。如果您已有可用的ECS,可重复使用,不需要再次创建。 使用root用户登录ECS。 安装Java
策略与社区保持一致。 操作系统紧急漏洞按照操作系统修复策略和流程对外发布,一般在一个月内提供修复方案,用户自行修复。 其他漏洞: 按照版本正常升级流程解决。 修复声明 为了防止客户遭遇不当风险,除漏洞背景信息、漏洞详情、漏洞原理分析、影响范围/版本/场景、解决方案以及参考信息等内
如需了解实际场景下的计费样例以及各计费项在不同计费模式下的费用计算过程,请参见计费样例。 续费 包年/包月RabbitMQ实例在到期后会影响RabbitMQ实例的正常运行。如果您想继续使用RabbitMQ实例,需要在规定的时间内为RabbitMQ实例进行续费,否则RabbitMQ实例、磁盘存储空间等资源
AMQP-0-9-1版本Exchange默认开启持久化。 是否开启Exchange持久化。 开启:该Exchange在服务器重启后仍然存在。 不开启:该Exchange在服务器重启后会被删除,需要重新创建。 Internal 仅RabbitMQ 3.x.x版本包含此参数。 Exchange是否为RabbitMQ内部使用。
常事件。部分可靠性要求非常高的业务系统,除了要求实例高可用,还要求数据安全、可恢复,以便在实例发生异常后能够使用备份数据进行恢复,保障业务正常运行。 消息持久化 父主题: 安全
与Kafka、RocketMQ的差异 表1 功能差异 功能项 RocketMQ Kafka RabbitMQ 优先级队列 不支持 不支持 3.8.35版本:支持。建议优先级大小设置在0-10之间。 AMQP-0-9-1版本:支持。优先级大小设置在1-9之间。 延迟队列 支持 不支持
对等连接 客户端连接RabbitMQ实例前,需要放通如下安全组,否则会连接失败。 创建安全组后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问RabbitMQ实例,无需添加表2或表3的规则。 表2 安全组规则(RabbitMQ
业务消息队列的运行使用和负载状态。 支持多语言客户端 RabbitMQ是一款基于AMQP协议的开源服务,用于在分布式系统中存储转发消息,服务器端用Erlang语言(支持高并发、分布式以及健壮的容错能力等特点)编写,支持多种语言的客户端,如:Python、Ruby、.NET、Jav
非持久化的Message在重启之后会丢失(经过持久化Queue/Exchange的消息不会自动变为持久化消息)。 持久化消息在尚未完成持久化时,如果服务器重启,消息会丢失。 RabbitMQ AMQP-0-9-1版本Exchange、Queue、Message默认开启持久化。 设置Exchange持久化
为什么RabbitMQ集群只有一个连接地址? RabbitMQ集群实例的连接地址,实际上是实例的LVS节点地址(负载均衡地址),客户端连接实例时,通过负载均衡器将客户端请求分发到集群实例的各个节点。 图1 连接示意图 父主题: 连接问题
云监控显示通道数一直上升报警有影响吗? 一个连接最大通道数是2047(RabbitMQ 3.8.35版本)/2000(RabbitMQ AMQP-0-9-1版本),超过后再创建通道数会失败,建议排查是否为资源没有释放导致的。 父主题: 监控告警问题
更多信息请参见变更资源规格费用说明。 到期后影响 图3描述了包年/包月RabbitMQ实例各个阶段的状态。购买后,在计费周期内RabbitMQ实例正常运行,此阶段为有效期;RabbitMQ实例到期而未续费时,将陆续进入宽限期和保留期。 图3 包年/包月RabbitMQ实例生命周期 到期预警
配置RabbitMQ单一活跃消费者 单一活跃消费者(Single Active Consumer)表示队列中可以注册多个消费者,但是只允许一个消费者消费消息,只有在此消费者出现异常时,才会自动转移到另一个消费者进行消费。单一活跃消费者适用于需要保证消息消费顺序性,同时提供高可靠能力的场景。
实例状态说明 表1 实例状态说明 状态 说明 CREATING 申请实例后,在实例状态进入运行中之前的状态。 RUNNING 实例正常运行状态。在这个状态的实例可以运行您的业务。 ERROR 实例处于故障的状态。 RESTARTING 实例正在进行重启操作。 STARTING 实例从已冻结到运行中的中间状态。
RabbitMQ引入仲裁队列机制,仲裁队列是开源RabbitMQ 3.8版本新增的一个功能,提供队列复制的能力,当集群某一代理宕机后,队列依旧可以正常运行,保证服务的可用性。
创建RabbitMQ实例后,在RabbitMQ实例状态进入运行中之前的状态。 创建失败 RabbitMQ实例处于创建实例失败的状态。 运行中 RabbitMQ实例正常运行状态。 在这个状态的实例可以运行您的业务。 故障 RabbitMQ实例处于故障的状态。 启动中 RabbitMQ实例从已冻结到运行中的中间状态。
轨迹数据白屏化展示,消息完整的生命周期清晰可见,一目了然。提供强大的索引能力,可根据Queue、消息ID、消息处理耗时等完成不同维度的查询。 消息轨迹信息以文本格式存储在服务器的log文件中,查询和定位问题效率较低。 稳定性 表2 稳定性差异 功能项 AMQP-0-9-1版本 开源RabbitMQ 消息堆积 海量消息堆积能力,高性能不受消息堆积影响。
18.0-bin.tar.gz。 购买客户端服务器。 购买区域、可用区、虚拟私有云、子网、安全组与RabbitMQ实例保持一致,规格为16U32G,Linux系统的ECS服务器,具体步骤请参考购买弹性云服务器。 购买完成ECS后,需要在ECS中完成以下配置: 安装Java JDK,并