检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置RabbitMQ持久化 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当节点宕机或重启时,会导致消息丢失。RabbitMQ提供持久化机制,可在节点宕机或重启时确保消息不丢失。持久化包括Exchange持久化、Queue持久化和Message持久化。 持久化是将内存
如果未安装Python,请使用以下命令安装: yum install python Python版的RabbitMQ客户端,本文使用pika作为连接RabbitMQ的客户端 执行以下命令,安装推荐版本的pika: pip install pika 如果无法使用pip命令安装pika,建议改用pip3命令安装pika:
费。 按月购买的实例:自动续费周期为1个月。 按年购买的实例:自动续费周期为1年。 在页面右侧“配置概要”中,查看已选择的实例配置。 确认配置无误后,单击“确认订单”,进入“确认配置”页面。 确认实例信息无误且阅读并同意《华为云用户协议》后,如果“计费模式”选择“包年/包月”,单
配置RabbitMQ镜像队列 镜像队列是指允许集群将队列镜像到其他节点上,当集群某一节点宕机后,队列能自动切换到镜像中的其他节点,保证服务的可用性。 本章节指导如何在RabbitMQ WebUI为Vhost配置镜像队列策略,满足策略条件的队列将成为镜像队列。 约束与限制 RabbitMQ
在“Queue”页签中,单击“创建Queue”,弹出“创建Queue”对话框。 参考表1,设置Queue的名称和配置信息。 表1 Queue参数说明 参数 说明 名称 系统为您自动生成了Queue名称,您可以根据需要修改。Queue名称需要符合以下规则:长度为3~128个字符,只能
配置RabbitMQ TTL TTL(Time To Live)即过期时间。消息在队列中的生存时间超过了TTL后,消息会被丢弃,如果队列设置了死信交换机,丢弃的消息会被转发到死信交换机,由死信交换机将其路由到死信队列。更多关于TTL的说明,请参考TTL。 RabbitMQ支持设置
在“Exchange”页签中,单击“创建Exchange”,弹出“创建Exchange”对话框。 参考表1,设置Exchange名称和配置信息。 表1 Exchange参数说明 参数 说明 名称 系统为您自动生成了Exchange名称,您可以根据需要修改。Exchange名称需要符合以下规则:长度为3~12
回显信息中包含如下信息,表示Java JDK安装成功。 java version "1.8.0_321" 步骤二:创建RabbitMQ实例 进入购买RabbitMQ实例页面。 在“快速购买”页签,设置实例基础配置,如图2所示,配置详情请参考表2。 表2 设置实例基础配置 参数 说明 计费模式 选择
和使用成本。 一键式部署,免去集群搭建烦恼 只需要在实例管理界面选好规格配置,提交订单,后台将自动创建部署完成一整套RabbitMQ实例。 兼容开源,业务零改动迁移上云 兼容社区版RabbitMQ的API,具备原生RabbitMQ的所有消息处理特性。 业务系统基于开源的Rabbi
在RabbitMQ控制台开启公网访问,配置弹性公网IP,客户端通过弹性公网IP访问RabbitMQ实例。 配置RabbitMQ实例的公网访问 内网连接 客户端和RabbitMQ实例部署在同一个VPC中,此时网络默认互通。 - 客户端和RabbitMQ实例部署在同一个Region的不同VP
络已互通,具体网络要求参见连接RabbitMQ网络要求。 客户端所在服务器已安装Java Development Kit 1.8.111或以上版本,并配置JAVA_HOME与PATH环境变量,环境变量配置方法如下: 使用执行用户在用户家目录下修改“.bash_profile”,添
络已互通,具体网络要求参见连接RabbitMQ网络要求。 客户端所在服务器已安装Java Development Kit 1.8.111或以上版本,并配置JAVA_HOME与PATH环境变量,环境变量配置方法如下: 使用执行用户在用户家目录下修改“.bash_profile”,添
Consumer。 图1 单一活跃消费者消费流程 约束与限制 仅RabbitMQ 3.8.35版本支持单一活跃消费者特性。 配置单一活跃消费者 在声明队列时,可以配置单一活跃消费者,只需要将队列的“x-single-active-consumer”参数设置为“true”。 以下示例演示在Java客户端设置单一活跃消费者。
配置RabbitMQ监控告警 本章节主要介绍部分监控指标的告警策略,以及配置操作。在实际业务中,建议按照以下告警策略,配置监控指标的告警规则。 表1 RabbitMQ实例配置告警的指标(RabbitMQ 3.x.x版本) 指标名称 告警策略 指标说明 解决方案 内存高水位状态 告警阈值:原始值>=1
配置RabbitMQ ACL用户 RabbitMQ实例开启ACL访问控制后,生产和消费消息时需要进行ACL用户鉴权,鉴权成功后才能生产和消费消息。 本章节介绍如何创建、编辑和删除用户。 仅RabbitMQ AMQP-0-9-1版本支持在控制台配置RabbitMQ ACL用户。RabbitMQ
SDK列表 在开始使用之前,请确保您安装的是最新版本的SDK。使用过时的版本可能会导致兼容性问题或无法使用最新功能。您可以在SDK中心查询版本信息。 表1提供了分布式消息服务RabbitMQ版支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表
配置RabbitMQ实例的公网访问 当您需要通过公网地址访问RabbitMQ实例时,可开启实例的公网访问功能,并设置弹性IP地址。当业务不再使用公网访问功能时,也可以关闭实例的公网访问功能。 公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,因此建议仅
查看队列类型 在“Queues”页面,单击队列名称,进入队列详情页。查看当前仲裁队列主副本所在节点和在线副本所在节点。 图3 队列详情页 配置仲裁队列的长度 通过配置Policy或者队列属性的方式可以限制仲裁队列的长度和在内存中保存的长度。 x-max-length:仲裁队列最大消息数。如果超过则丢弃消息,或者发送到死信交换器。
配置RabbitMQ惰性队列 默认情况下,RabbitMQ生产者生产的消息存储在内存中,当需要释放内存时,会将内存中的消息换页至磁盘中。换页操作会消耗较长的时间,且换页过程中队列无法处理消息。 如果生产速度过快(例如执行批处理任务),或者消费者由于各种原因(例如消费者下线、宕机)
消息队列应对秒杀大流量场景 系统解耦 以电商秒杀、抢购等流量短时间内暴增场景为例,传统做法是,用户下单后,订单系统发送查询请求到库存系统,等待库存系统返回请求结果给订单系统。如果库存系统发生故障,订单系统获取不到数据,订单失败。这种情况下,订单系统和库存系统两个子系统高耦合。 图4 系统高耦合 引