检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
过量的消息堆积可能会引起内存或磁盘告警,从而造成所有connection阻塞,进而影响到其他队列的使用,导致整体服务质量的下降。 消息堆积产生的原因 一般来说消息堆积是由于生产消息的速率远大于消费消息的速率所导致的。比如某个时间段消费端处理消息异常缓慢,发送一条消息只要3秒钟,而消费一条消息
消息的最长保留时间是多久? RabbitMQ 3.x.x版本 一般情况下消息如果未被消费会一直保留,只有被消费后,才会被删除。但是如果设置了过期时间(TTL),则以TTL时间为准。 RabbitMQ AMQP-0-9-1版本 如果消息设置了TTL,无论消息是否被消费,超过TTL后
华为云使用RabbitMQ作为消息引擎,RabbitMQ是一个生产者和消费者模型,主要负责接收、存储和转发消息。以下概念基于RabbitMQ进行描述。 消息 消息一般分为两部分,消息体和标签,标签主要用来描述这条消息,消息体是消息的内容,是一个JSON体或者数据等。 生产者发送消息,消费者消费消息,生产者与消费者彼此并无直接关系。
使用前请参考收集连接信息收集RabbitMQ所需的连接信息。 本文的连接示例对于RabbitMQ 3.x.x版本与AMQP-0-9-1版本都适用。 准备环境 Python 一般系统预装了Python,您可以在命令行输入python或者python3,查看Python是否已经安装。python命令只能查询Python
分布式消息服务RabbitMQ版完全兼容开源RabbitMQ,为您提供即开即用、消息特性丰富、灵活路由、高可用、监控和告警等特性,广泛应用于秒杀、流控、系统解耦等场景。 即开即用 分布式消息服务RabbitMQ版提供单机和集群的消息实例,拥有丰富内存规格,您可以通过控制台直接下单购买并创建,无需单独准备服务器资源。
分布式消息服务RabbitMQ版完全兼容开源RabbitMQ,为您提供即开即用、消息特性丰富、灵活路由、高可用、监控和告警等特性,广泛应用于秒杀、流控、系统解耦等场景。 使用RabbitMQ实例生产消费消息的流程如下图所示。 图1 RabbitMQ业务使用流程 创建用户并授权使用DMS for
的折扣越大。一般适用于业务需求量长期稳定的成熟业务。 按需计费:一种后付费模式,即先使用再付费,按照RabbitMQ实例实际使用时长计费,秒级计费,按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用,无需提前预置资源,从而降低预置过多或不足的风险。一般适用于电商抢购等业务需求量瞬间大幅波动的场景。
高危漏洞: RabbitMQ社区发现漏洞并发布修复方案后,分布式消息服务RabbitMQ版一般在1个月内进行修复,修复策略与社区保持一致。 操作系统紧急漏洞按照操作系统修复策略和流程对外发布,一般在一个月内提供修复方案,用户自行修复。 其他漏洞: 按照版本正常升级流程解决。 修复声明
我的配额”。 系统进入“服务配额”页面。 图1 我的配额 您可以在“服务配额”页面,查看各项资源的总配额及使用情况。 如果当前配额不能满足业务要求,请参考后续操作,申请扩大配额。 如何申请扩大配额? 登录管理控制台。 在页面右上角,选择“资源 > 我的配额”。 系统进入“服务配额”页面。
消息队列应对秒杀大流量场景 系统解耦 以电商秒杀、抢购等流量短时间内暴增场景为例,传统做法是,用户下单后,订单系统发送查询请求到库存系统,等待库存系统返回请求结果给订单系统。如果库存系统发生故障,订单系统获取不到数据,订单失败。这种情况下,订单系统和库存系统两个子系统高耦合。 图4 系统高耦合 引
购买RabbitMQ实例 RabbitMQ是一款基于AMQP(即Advanced Message Queuing Protocol)协议的开源服务,用于在分布式系统中存储转发消息。 RabbitMQ实例采用物理隔离的方式部署,租户独占RabbitMQ实例。支持用户自定义规格和自定义特性,您可以根据业务
给用户组授权之前,请您了解用户组可以添加的DMS for RabbitMQ系统策略,并结合实际需求进行选择,DMS for RabbitMQ支持的系统策略及策略间的对比,请参见:DMS for RabbitMQ系统策略。若您需要对除DMS for RabbitMQ之外的其它服务授权,
与其他云服务的关系 弹性云服务器(Elastic Cloud Server) 弹性云服务器是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。RabbitMQ实例运行在弹性云服务器上,一个代理对应一台弹性云服务器。 云硬盘(Elastic Volume Service) 云硬
RabbitMQ实例,用户在购买时会一次性付费,服务将在到期后自动停止使用。 如果在计费周期内不再使用包年/包月资源,您可以执行退订操作,系统将根据资源是否属于五天无理由退订、是否使用代金券和折扣券等条件返还一定金额到您的账户。详细的退订规则请参见云服务退订规则概览。需要注意,如
户被授予的策略中必须包含允许“dms:instance:create”的授权项,该接口才能调用成功。 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下:
从leader副本进行数据同步,保持数据一致性。 设置实例镜像队列 设置实例仲裁队列 数据持久化 业务系统日常运行中可能出现一些小概率的异常事件。部分可靠性要求非常高的业务系统,除了要求实例高可用,还要求数据安全、可恢复,以便在实例发生异常后能够使用备份数据进行恢复,保障业务正常运行。
身份认证与访问控制 身份认证 无论用户通过控制台还是API访问DMS for RabbitMQ,都会要求访问请求方出示身份凭证,并进行身份合法性校验,同时提供登录保护和登录验证策略加固身份认证安全。 DMS for RabbitMQ基于统一身份认证服务(Identity and Access
如表1所示,包括了DMS for RabbitMQ的所有系统权限。 表1 DMS for RabbitMQ系统权限 系统角色/策略名称 描述 类别 依赖关系 DMS FullAccess 分布式消息服务管理员权限,拥有该权限的用户可以操作所有分布式消息服务的功能。 系统策略 无 DMS UserAccess
接闪断,客户端需要支持自动重连,建议在业务低峰时进行变更。 代理采用滚动重启的方式进行实例变更,变更时长和代理数量有关,单个代理的变更时长一般在5~10分钟,总变更时长为(5~10分钟)*代理数量。 约束与限制 为了实例运行正常,变更规格过程中,请勿对实例进行其他操作。 实例变更规格后,配置费用将发生变化。
了保证消息至少被消费一次,服务端会尝试投递之前已被处理过的消息,最终消费者会消费到两条内容一样的重复消息。 实施方法 对于消息重复的场景,一般可以使用全局唯一ID来判断该消息是否已消费过。如果已经消费过,则直接返回处理结果,否则进行消息处理,并将全局ID记录下来。 生产者为每一条