检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
TL后,消息会被丢弃,如果队列设置了死信交换机,丢弃的消息会被转发到死信交换机,由死信交换机将其路由到死信队列。更多关于TTL的说明,请参考TTL。 RabbitMQ支持设置消息和队列的TTL,消息的TTL可以通过以下两种方法设置: 通过队列属性设置:队列中所有消息的具有相同的过期时间。
支持AMQP协议,支持普通消息、广播消息、死信、延迟消息等特性。 灵活路由 在RabbitMQ中,生产者将消息发送到交换器,由交换器将消息路由到队列中。交换器支持Direct、Topic、Headers和Fanout四种路由方式,同时支持交换机组合和自定义。 高可用 RabbitMQ集群提供
Routing Key 设置Key值字符串,用于告知Exchange应该将消息投递到哪些Queue中。 Direct Exchange和Topic Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的Queue中。如果不设置Routing
递消息,根据Exchange类型的路由规则路由消息。 x-consistent-hash:该类型Exchange会根据Routing Key计算出一个hash值,按照hash值将消息路由到对应的Queue中。 Exchange类型 “类型”设置为“x-delayed-message”时,页面显示此参数。
解绑RabbitMQ Queue 本章节指导如何在控制台为Exchange解绑Queue。解绑Queue后,Exchange将无法把消息路由并存放到该Queue。 前提条件 已创建Exchange。 已创建Queue。 Exchange已绑定Queue。 为Exchange解绑Queue
Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的Queue中。如果不设置Routing Key,Exchange会将消息路由到所有与它绑定的Queue中。 x-consistent-hash Exchange需要设置Routing
与其他云服务的关系 弹性云服务器(Elastic Cloud Server) 弹性云服务器是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。RabbitMQ实例运行在弹性云服务器上,一个代理对应一台弹性云服务器。 云硬盘(Elastic Volume Service) 云硬
建议在队列上设置最大长度。这样可以通过丢弃队列头部的消息来保持队列长度,队列长度永远不会大于最大长度设置。 最大长度可以通过Policy设置,也可以通过在队列声明时使用对应参数设置。 在RabbitMQ WebUI的Policy中设置。 在队列声明时使用对应参数设置。 //创建队列
客户端使用建议 生产者端 网络异常可能导致消息路由失效,消息丢失。建议在生产者客户端中将Mandatory参数设置为“true”,以便在Exchange根据路由规则无法将消息路由到符合条件的Queue时,调用Basic.Return方法将消息返回给生产者。 以下示例演示在Java客户端开启Mandatory:
Exchange会将它路由给与绑定Queue时设置的Routing Key完全匹配的Queue。 路由规则: Direct Exchange会将消息路由到Routing Key完全匹配的Queue中。 应用场景: Direct Exchange常用于单播路由。 应用示例: 图1 Direct
创建Queue后不能修改名称。 持久化 RabbitMQ 3.x.x版本需要设置此参数。RabbitMQ AMQP-0-9-1版本Queue默认开启持久化。 是否开启Queue持久化。 开启:该Queue在服务器重启后仍然存在。 不开启:该Queue在服务器重启后会被删除,需要重新创建。 自动删除 是否开启自动删除Queue。
设置队列负载均衡 方案概述 在RabbitMQ集群上,由于扩容节点、删除队列等原因,会导致队列在各个节点分布不均衡,从而造成部分节点压力过大,无法更有效地利用集群。 这时候需要手动设置节点间队列的负载均衡,提升集群的利用率。设置队列负载均衡的方法如下: 删除队列重建 通过Policy修改master节点方式
在“Exchange”页签中,在Exchange后,单击“绑定”,弹出“绑定”页面。 在待解绑的Exchange后,单击“解除绑定”,弹出“解除绑定”对话框。 解除绑定后,该路由将不再提供服务,且无法恢复,请谨慎操作。 单击“是”,完成Exchange的解绑。 为Queue解绑源Exchange 登录管理控制台。 在管理控制台左上角单击,选择区域。
连接已开启SSL方式的RabbitMQ实例 连接RabbitMQ管理地址 05 实践 弹性云服务器(Elastic Cloud Server)是一种可随时自动获取、计算能力可弹性伸缩的云服务器。 部署web环境 什么是ECS 创建容器应用基本流程 快速创建一个kubernetes集群 3分钟创建一个游戏类容器应用
配置RabbitMQ消息预取值 设置预取值可以限制未被确认的消息个数,一旦消费者中未被确认的消息数量达到设置的预取值,服务端将不再向此消费者发送消息,除非至少有一个未被确认的消息被确认。设置预取值本质上是一种对消费者进行流控的方法。 设置预取值时,需要考虑多种因素: 预取值设置太小可能会损害性能
e”将死信消息发送到死信交换机中,并根据“x-dead-letter-routing-key”为死信消息设置死信路由Key。 以下示例演示在Java客户端配置死信交换机和路由: channel.exchangeDeclare("some.exchange.name", "direct");
将消息发送到Exchange中,Exchange根据路由键将消息发送到对应的Queue。 创建Queue Queue用于存储消息,每个消息都会被发送到一个或多个Queue中。 绑定Queue Exchange收到消息后,根据路由键将消息发送到绑定的Queue。 连接实例 客户端使
消息创建时间在哪设置? 消息创建时间是由生产客户端在生产消息时设置的。 父主题: 消息问题
Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。
添加绑定 功能介绍 添加绑定。 调用方法 请参见如何调用API。 URI POST /v2/rabbitmq/{project_id}/instances/{instance_id}/vhosts/{vhost}/exchanges/{exchange}/binding 表1 路径参数