检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
实现RabbitMQ节点重启后消费者自动重连 方案概述 RabbitMQ的amqp-client虽然自带重连机制,但是自带的重连机制只会重试一次,重连失败后就不再执行。这时如果消费者没有做额外的重试机制,那么这个消费者就彻底断开与服务端的连接,无法消费消息。 amqp-clien
RabbitMQ实例开启SSL后,证书怎么获取? RabbitMQ 3.x.x版本实例开启SSL后只做单向认证,不需要证书。 父主题: 实例问题
实现网络异常时RabbitMQ客户端自动恢复 方案概述 由于服务端重启、网络抖动等原因造成客户端网络连接断开时,将导致客户端无法正常生产和消费消息。 通过在客户端侧设置重连机制,使客户端在网络连接断开时自动恢复连接,降低网络故障对业务的影响。以下场景会触发网络自动恢复: 在连接的I/O循环中抛出未处理的异常
与其他云服务的关系 弹性云服务器(Elastic Cloud Server) 弹性云服务器是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。RabbitMQ实例运行在弹性云服务器上,一个代理对应一台弹性云服务器。 云硬盘(Elastic Volume Service) 云硬
客户端只能部署在与RabbitMQ实例处于相同虚拟私有云(VPC)的弹性云服务器(ECS)上。 除了ECS、RabbitMQ实例必须处于相同VPC之外,还需要他们的安全组分别配置了正确的规则,客户端才能访问RabbitMQ实例。 建议ECS、RabbitMQ实例配置相同的安全组。安全组创建后,默认包含组内网络访问不受限制的规则。
到磁盘中。 非持久化的Queue、Exchange在重启之后会丢失。 非持久化的Message在重启之后会丢失(经过持久化Queue/Exchange的消息不会自动变为持久化消息)。 持久化消息在尚未完成持久化时,如果服务器重启,消息会丢失。 RabbitMQ AMQP-0-9-
imitations。 延迟消息堆积数量越多,RabbitMQ节点启动加载耗时越久,可能导致节点重启后无法快速恢复业务。 延迟消息在RabbitMQ中为单副本存储,如果该节点发生重启,该节点上的延迟消息无法被消费端消费。 消减措施 已开启延迟消息插件的实例,建议分别为每个节点配置
itmq_consistent_hash_exchange插件,如果需要开启,请提交工单联系技术人员在后台开启插件。 开启插件过程中,不会重启实例。 rabbitmq_shovel和rabbitmq_federation插件在特定场景下才支持开启,具体如表2所示。 表2 支持开启插件的场景
创建实例时为什么无法查看子网和安全组等信息? RabbitMQ集群实例如何均衡分发请求到每个虚拟机? RabbitMQ实例集群内部的队列是否有冗余备份? RabbitMQ实例是否支持持久化,如何定时备份数据? RabbitMQ实例开启SSL后,证书怎么获取? RabbitMQ实例的SSL开关是否支持修改? RabbitMQ实例是否支持扩容?
RUNNING 实例正常运行状态。在这个状态的实例可以运行您的业务。 ERROR 实例处于故障的状态。 RESTARTING 实例正在进行重启操作。 STARTING 实例从已冻结到运行中的中间状态。 EXTENDING 实例正在进行规格变更操作。 EXTENDEDFAILED 实例处于规格变更操作失败的状态。
连接已开启SSL方式的RabbitMQ实例 连接RabbitMQ管理地址 05 实践 弹性云服务器(Elastic Cloud Server)是一种可随时自动获取、计算能力可弹性伸缩的云服务器。 部署web环境 什么是ECS 创建容器应用基本流程 快速创建一个kubernetes集群 3分钟创建一个游戏类容器应用
如果RabbitMQ实例未开启公网访问,您需要购买一台与RabbitMQ实例网络相通的Windows弹性云服务器,然后登录弹性云服务器访问Web页面。 购买弹性云服务器操作,请参考购买并登录Windows弹性云服务器。 图2 登录实例Web页面 输入用户名和密码,单击“Login”,登录完成。 父主题:
即开即用 分布式消息服务RabbitMQ版提供单机和集群的消息实例,拥有丰富内存规格,您可以通过控制台直接下单购买并创建,无需单独准备服务器资源。 消息特性丰富 支持AMQP协议,支持普通消息、广播消息、死信、延迟消息等特性。 灵活路由 在RabbitMQ中,生产者将消息发送到
启弹性公网IP的ECS、安装JDK以及配置环境变量。 登录管理控制台,在左上角单击,选择“计算 > 弹性云服务器”,创建一个ECS实例。 创建ECS的具体步骤,请参考购买弹性云服务器。如果您已有可用的ECS,可重复使用,不需要再次创建。 使用root用户登录ECS。 安装Java
使用较小的队列长度 队列中存在大量消息时,会给内存使用带来沉重的负担。为了释放内存,RabbitMQ会将消息刷新到磁盘。刷盘需要重建索引,重启包含大量消息的集群,导致这个过程非常耗时。当刷盘的消息过多时,会阻塞队列处理消息,从而降低队列速度,影响RabbitMQ节点的性能。 要获
x版本需要设置此参数。RabbitMQ AMQP-0-9-1版本Queue默认开启持久化。 是否开启Queue持久化。 开启:该Queue在服务器重启后仍然存在。 不开启:该Queue在服务器重启后会被删除,需要重新创建。 自动删除 是否开启自动删除Queue。 开启:在订阅该Queue消息的最后一个消费者
消息的消费应用程序在未处理完消息前不应确认消息,以便消费者有足够的时间处理消息,无需担心消息处理过程中由于消费者进程异常(如工作程序崩溃、重启等)导致消息丢失。 消费者确认在客户端上配置,通过配置basicConsume方法启用确认。在channel中启用消费者确认适用于大多数场景。
AMQP-0-9-1版本Exchange默认开启持久化。 是否开启Exchange持久化。 开启:该Exchange在服务器重启后仍然存在。 不开启:该Exchange在服务器重启后会被删除,需要重新创建。 Internal 仅RabbitMQ 3.x.x版本包含此参数。 Exchange是否为RabbitMQ内部使用。
本章节提供了客户端重连示例代码,使客户端在网络异常导致连接断开时自动恢复连接,降低网络故障对业务的影响。 实现RabbitMQ节点重启后消费者自动重连 本章节提供了RabbitMQ节点重启后消费者自动重连示例代码,实现在通道关闭后重新为消费者创建新的通道继续消费。 提高RabbitMQ性能 本章节介
与Kafka、RocketMQ的差异 表1 功能差异 功能项 RocketMQ Kafka RabbitMQ 优先级队列 不支持 不支持 3.8.35版本:支持。建议优先级大小设置在0-10之间。 AMQP-0-9-1版本:支持。优先级大小设置在1-9之间。 延迟队列 支持 不支持