检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
x版本需要设置此参数。RabbitMQ AMQP-0-9-1版本Queue默认开启持久化。 是否开启Queue持久化。 开启:该Queue在服务器重启后仍然存在。 不开启:该Queue在服务器重启后会被删除,需要重新创建。 自动删除 是否开启自动删除Queue。 开启:在订阅该Queue消息的最后一个消费
如果RabbitMQ实例未开启公网访问,您需要购买一台与RabbitMQ实例网络相通的Windows弹性云服务器,然后登录弹性云服务器访问Web页面。 购买弹性云服务器操作,请参考购买并登录Windows弹性云服务器。 图2 登录实例Web页面 输入用户名和密码,单击“Login”,登录完成。 父主题:
Queue”,删除队列。 在“Overview”页签中,上传已导出的元数据。 在“Overview”页签中,单击“选择文件”,选择已导出的元数据。 单击“Upload broker definitions”,上传元数据。 上传成功后,显示如下信息。 实例会自动将队列均衡创建在各个节
可能会影响其他队列的消息收发。这种场景下,建议您启用惰性队列。 惰性队列(Lazy Queue)会尽可能的将消息存入磁盘中,在消费者消费到相应的消息时才会被加载到内存中,这样可以减少内存的消耗,但是会增加I/O的使用,影响单个队列的吞吐量。惰性队列的一个重要的设计目标是能够支持
分布式消息服务RabbitMQ版支持所有开源版本的SDK,常见的开源SDK如表1所示。 表1 开源SDK列表 编程语言 SDK Java rabbitmq-java-client Spring Framework SpringAMQP .Net rabbitmq-dotnet-client
查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导
以下提供一个简单的Java代码示例,此示例能够解决上面的两种错误,实现消费者的持续消费。 package rabbitmq; import com.rabbitmq.client.*; import java.io.IOException; import java.nio.charset
被重新声明,并且在过期时间前也未调用过Basic.Get命令。“x-expires”参数的值必须为非零整数,单位为ms。 以下示例演示在Java客户端设置队列TTL。 Map<String, Object> args = new HashMap<String, Object>();
连接已开启SSL方式的RabbitMQ实例 连接RabbitMQ管理地址 05 实践 弹性云服务器(Elastic Cloud Server)是一种可随时自动获取、计算能力可弹性伸缩的云服务器。 部署web环境 什么是ECS 创建容器应用基本流程 快速创建一个kubernetes集群 3分钟创建一个游戏类容器应用
和客户端视为关闭。服务端和客户端会对配置的心跳超时时间进行协商,客户端必须配置该值来发送心跳。RabbitMQ官方团队维护的3个客户端(Java、.NET、Erlang语言)的心跳超时时间协商逻辑如下: 服务端和客户端设置的心跳超时时间都不为0时,两者间较小的值生效。 服务端和客
配置RabbitMQ镜像队列 镜像队列是指允许集群将队列镜像到其他节点上,当集群某一节点宕机后,队列能自动切换到镜像中的其他节点,保证服务的可用性。 本章节指导如何在RabbitMQ WebUI为Vhost配置镜像队列策略,满足策略条件的队列将成为镜像队列。 RabbitMQ AMQP-0-9-1版本不支持镜像队列。
支持。消息消费超过一定时间未响应会重新投递。重试间隔时间为1分钟,最多重试16次,超过则会丢弃或发送至死信Exchange。 不支持。 监控指标 指标丰富,维度可精确到Vhost、Exchange和Queue,便于您快速发现和定位问题。 支持以下两种方案: 方案一:通过Management UI能够获取丰富
源在某个时间段的使用量和计费信息。 账单上报周期 包年/包月计费模式的资源完成支付后,会实时上报两条账单(实例费用账单和存储空间费用账单)到计费系统进行结算。 按需计费模式的资源按照固定周期上报使用量到计费系统进行结算。按需计费模式产品根据使用量类型的不同,分为按小时、按天、按月
import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.Date; @Component public class ReceiveMsgService
如果在计费周期内不再使用包年/包月资源,您可以执行退订操作,系统将根据资源是否属于五天无理由退订、是否使用代金券和折扣券等条件返还一定金额到您的账户。详细的退订规则请参见云服务退订规则概览。需要注意,如果实例开启了回收站策略,包周期实例退订后,会存入回收站中,此时不会收取实例的费
x-message-ttl Long 消息过期时间,发布到Queue的消息在被丢弃之前可以存活多长时间。 x-dead-letter-exchange String 死信Exchange名称,消息被拒绝或过期时将重新发布到该Exchange。 x-dead-letter-routing-key
消费者间均匀分布。 如果客户端配置的消息确认机制为自动确认,则设置的预取值无效,已确认的消息会从队列中删除。 设置预取值 以下示例演示在Java客户端为单个消费者设置预取值为10。 ConnectionFactory factory = new ConnectionFactory();
消息堆积对业务的影响及解决办法 消息堆积对业务的影响 过量的消息堆积可能会引起内存或磁盘告警,从而造成所有connection阻塞,进而影响到其他队列的使用,导致整体服务质量的下降。 消息堆积产生的原因 一般来说消息堆积是由于生产消息的速率远大于消费消息的速率所导致的。比如某个时间
Acknowledgements and Publisher Confirms。 生产者确认 生产者确认,即服务端在收到来自生产者的消息时进行确认。 以下示例演示在Java客户端配置生产者确认: try { channel.confirmSelect() ; //将信道置为publisher confirm模式
RabbitMQ使用集群部署时,如果其中一个节点故障下线,待它消除故障重新上线后,它保存的所有从队列的数据都会丢失。此时运维人员需要选择是否同步主队列的数据到从队列中,如果不同步数据,会增加消息丢失的风险。如果同步数据,同步时队列是阻塞的,无法对其进行操作。当队列中存在大量堆积消息时,同步会导致队列几分钟、几小时或者更长时间不可用。