检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
什么是心跳 RabbitMQ实例提供了心跳功能,以确保应用程序层及时发现中断的连接和完全无响应的对端。心跳还可以防止某些网络设备在一段时间内由于没有活动而中断TCP连接。开启心跳的方法为在连接上指定心跳超时时间。 心跳超时时间定义了对等TCP连接在多长时间后被服务端和客户端视为关闭。
客户端是否可以通过DNAT方式访问RabbitMQ实例? 不可以。客户端可以使用代理、VPN、专线、FullNAT或者反向代理等方式访问RabbitMQ实例。 父主题: 连接问题
配置高级特性 配置RabbitMQ持久化 配置RabbitMQ TTL
配置Vhost 创建RabbitMQ Vhost 创建RabbitMQ Exchange 绑定RabbitMQ Exchange 创建RabbitMQ Queue 绑定RabbitMQ Queue 管理RabbitMQ Vhost 管理RabbitMQ Exchange 管理RabbitMQ
如果RabbitMQ实例未开启公网访问,您需要购买一台与RabbitMQ实例网络相通的Windows弹性云服务器,然后登录弹性云服务器访问Web页面。 购买弹性云服务器操作,请参考购买并登录Windows弹性云服务器。 图2 登录实例Web页面 输入用户名和密码,单击“Login”,登录完成。 父主题:
配置RabbitMQ TTL TTL(Time To Live)即过期时间。消息在队列中的生存时间超过了TTL后,消息会被丢弃,如果队列设置了死信交换机,丢弃的消息会被转发到死信交换机,由死信交换机将其路由到死信队列。更多关于TTL的说明,请参考TTL。 RabbitMQ支持设置
ConnectionFactory(); // 配置实例的连接地址和端口 factory.setHost("192.168.0.2"); factory.setPort(5672); // 配置实例连接的用户名和密码 factory
变更RabbitMQ实例规格 RabbitMQ实例创建成功后,您可以根据业务需要,扩容或者缩容实例,RabbitMQ实例支持的变更配置如表1和表2所示。 表1 变更配置列表(RabbitMQ 3.x.x版本) 实例类型 变更配置类型 是否支持扩容 是否支持缩容 集群 代理数量 √
连接实例 配置RabbitMQ网络连接 配置RabbitMQ访问控制 配置RabbitMQ客户端心跳超时时间 使用客户端连接RabbitMQ(关闭SSL) 使用客户端连接RabbitMQ(开启SSL)
者进程异常(如工作程序崩溃、重启等)导致消息丢失。 消费者确认在客户端上配置,通过配置basicConsume方法启用确认。在channel中启用消费者确认适用于大多数场景。 以下示例演示在Java客户端配置消费者确认(使用Channel#basicAck设置basic.ack为肯定):
组。 客户端连接RabbitMQ实例前,请根据不同的连接方式配置对应的安全组规则,否则会连接失败。具体的安全组规则请参考表2。 设置实例访问方式。 表4 实例访问方式参数说明 参数名称 说明 公网访问 是否开启公网访问。开启公网访问后,客户端可以通过弹性IP地址访问RabbitMQ实例。
AMQPUserPerm objects 需要配置权限的Vhost,一个用户可以配置多个Vhost下的资源权限。 表3 AMQPUserPerm 参数 是否必选 参数类型 描述 vhost 否 String 需要配置权限的Vhost名称,一个用户可以配置多个Vhost下的资源权限。 conf
通过以下任意一种方法,查看监控数据。 在RabbitMQ实例名称后,单击“查看监控数据”。跳转到云监控页面,查看实例、节点和队列的监控数据,数据更新周期为1分钟。 单击RabbitMQ实例名称,进入实例详情页。在左侧导航栏单击“监控与告警 > 监控”,进入监控页面,查看实例、节点和队列的监控数据,数据更新周期为1分钟。
配置RabbitMQ惰性队列 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)
镜像队列包含一个主队列和多个从队列,当生产者向主队列发送一条消息,主队列会将消息同步给从队列,所有的从队列都保存消息后,主队列才会向生产者发送确认。 RabbitMQ使用集群部署时,如果其中一个节点故障下线,待它消除故障重新上线后,它保存的所有从队列的数据都会丢失。此时运维人员需要选择是否同步主队列的数据到从队列
AMQPUserPerm objects 需要配置权限的Vhost,一个用户可以配置多个Vhost下的资源权限。 表3 AMQPUserPerm 参数 是否必选 参数类型 描述 vhost 否 String 需要配置权限的Vhost名称,一个用户可以配置多个Vhost下的资源权限。 conf
未开启公网访问时,访问实例管理工具的地址。 公网访问 是否开启公网访问开关。 公网连接地址 开启公网访问后,连接实例的地址。 公网访问Web界面UI地址 开启公网访问后,访问实例管理工具的地址。 表3 连接参数说明(RabbitMQ AMQP-0-9-1版本) 参数 说明 内网连接地址 未开启公网访问时,连接实例的地址。
为Exchange绑定Queue 登录管理控制台。 在管理控制台左上角单击,选择区域。 此处请选择RabbitMQ实例所在的区域。 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务RabbitMQ版”,进入分布式消息服务RabbitMQ专享版页面。 单击实例名称,进入实例详情页面。 在左
使用Spring Boot连接RabbitMQ实例 本文介绍如何使用Spring Boot连接RabbitMQ实例进行消息的生产和消费。 使用前请参考收集连接信息收集RabbitMQ所需的连接信息。 本文的连接示例对于RabbitMQ 3.x.x版本与AMQP-0-9-1版本都适用。
1在消费消息。 更多关于单一活跃消费者的说明,请参考Single Active Consumer。 图1 单一活跃消费者消费流程 配置单一活跃消费者 在声明队列时,可以配置单一活跃消费者,只需要将队列的“x-single-active-consumer”参数设置为“true”。 以下示例演示在Java客户端设置单一活跃消费者。