检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
过低,在短暂网络抖动情况下可能会导致连接重建。如果心跳超时时间设置过长,可能导致集群进行主备切换时感知时间过长。推荐设置心跳超时时间为10s。 什么是心跳 RabbitMQ实例提供了心跳功能,以确保应用程序层及时发现中断的连接和完全无响应的对端。心跳还可以防止某些网络设备在一段时
例如在支付场景下,用户购买商品后进行支付,由于网络不稳定导致用户收到多次扣款请求,导致重复扣款。但实际上扣款业务只应进行一次,商家也只应产生一条订单流水。这时候使用消息幂等就可以避免这个问题。 在实际应用中,导致消息重复的原因有网络闪断、客户端故障等,且可能发生在消息生产阶段,也
责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的云安全挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。
rabbitmq_shovel" } 响应示例 状态码: 200 开启或关闭插件成功。 { "job_id" : "8abfa7b27437db8f01744ea8ad4f245e" } SDK代码示例 SDK代码示例如下。 Java Python Go 更多 开启rabbitmq_federation和rabbitmq_shovel插件。
strings IPv6的连接地址。 tags Array of TagEntity objects 标签列表。 表3 TagEntity 参数 参数类型 描述 key String 标签键。 不能为空。 对于同一个实例,Key值唯一。 长度为1~128个字符(中文也可以输入128个字符)。
公网访问 客户端在其他网络环境,或者与RabbitMQ实例处于不同region,则访问实例的公网地址。 不同网络环境,对于客户端配置来说,只是连接地址的差异,其他都一样。因此,本手册以同一VPC内子网地址的方式,介绍客户端开发环境搭建。 遇到连接超时或失败时,请注意确认网络是否连通。可使
abbitMQ。 表1 RabbitMQ最佳实践一览表 最佳实践 说明 实现网络异常时RabbitMQ客户端自动恢复 本章节提供了客户端重连示例代码,使客户端在网络异常导致连接断开时自动恢复连接,降低网络故障对业务的影响。 实现RabbitMQ节点重启后消费者自动重连 本章节提供
时访问密钥。同时还提供登录保护及登录验证策略。 访问控制 对企业中的员工设置不同的DMS for RabbitMQ访问权限,以达到不同员工之间的权限隔离,使用IAM进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。DMS for
strings IPv6的连接地址。 tags Array of TagEntity objects 标签列表。 表5 TagEntity 参数 参数类型 描述 key String 标签键。 不能为空。 对于同一个实例,Key值唯一。 长度为1~128个字符(中文也可以输入128个字符)。
abbitMQ实例。当前支持的筛选条件为状态、名称、版本、实例类型、规格、已用/可用存储空间、计费模式、连接地址、弹性IP地址、企业项目和标签。企业用户才能使用企业项目进行筛选。RabbitMQ实例状态请参见表1。 表1 RabbitMQ实例状态说明 状态 说明 创建中 创建Ra
通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region
RabbitMQ业务使用流程 创建用户并授权使用DMS for RabbitMQ 创建IAM用户,并授予DMS for RabbitMQ的权限,以达到用户之间权限的隔离。 购买RabbitMQ实例 RabbitMQ实例采用物理隔离的方式部署,租户独占RabbitMQ实例。 创建Vhost 生产者
连接实例 配置RabbitMQ网络连接 配置RabbitMQ访问控制 配置RabbitMQ客户端心跳超时时间 使用客户端连接RabbitMQ(关闭SSL) 使用客户端连接RabbitMQ(开启SSL)
实践是重用连接并将线程之间的连接与通道多路复用。 推荐使用Spring AMQP线程池:ConnectionFactory是Spring AMQP定义的连接工厂,负责创建连接。 不要在线程之间共享通道 大多数客户端并未实现通道的线程安全,所以不要在线程之间共享通道。 不要频繁打开和关闭连接或通道
)部署RabbitMQ实例,或跨可用区(同城灾备)部署。 在单可用区或多可用区中部署实例 副本冗余 副本通过数据同步的方式保持数据一致,当网络发生异常或节点故障时,通过冗余副本自动故障切换,并且故障恢复后会从leader副本进行数据同步,保持数据一致性。 设置实例镜像队列 设置实例仲裁队列
据的复制,在一个节点宕机时,队列依旧可以正常运行。 监控和告警 支持对RabbitMQ实例状态进行监控,支持对集群每个代理的内存、CPU、网络流量等进行监控。如果集群或节点状态异常,将触发告警。
组分别配置了正确的规则,客户端才能访问RabbitMQ实例。 建议ECS、RabbitMQ实例配置相同的安全组。安全组创建后,默认包含组内网络访问不受限制的规则。 如果配置了不同安全组,可参考如下配置方式: 假设ECS、RabbitMQ实例分别配置了安全组:sg-53d4、Default_All。
生产时长有明显增加时进行流控措施。 消费者异常:建议排查消费者逻辑是不是有问题,优化程序。 消费者与队列间的订阅异常:建议排查队列和消费者之间的订阅是否正常。 消费端的代码本身逻辑耗费时间长:建议给消息设置过期时间,设置方法如下: 在生产消息时,设置消息过期时间。消息过期时间以expiration值体现。
cluster_partition_handling pause_minority 当集群发生网络分区时,代理会检查自己是否处于“少数派”(存储分区的代理数小于等于总代理数的一半称为少数派)。少数派中的代理将会自动关闭服务并定期检测网络状态,待分区恢复之后重新启动服务。如果未开启镜像队列,发生分区时少数派上的队列将无法生产消费。
云)的ID。请参考创建实例获取。 security_group_id:安全组ID。请参考创建实例获取。 subnet_id:VPC内子网的网络ID。请参考创建实例获取。 available_zones:创建节点到指定的AZ ID,该参数不能为空数组或者数组的值为空,请参考查询可用区信息获取。