检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
轻松使用RabbitMQ。 表1 RabbitMQ最佳实践一览表 最佳实践 说明 实现网络异常时RabbitMQ客户端自动恢复 本章节提供了客户端重连示例代码,使客户端在网络异常导致连接断开时自动恢复连接,降低网络故障对业务的影响。 实现RabbitMQ节点重启后消费者自动重连
TPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DE
镜像队列主要的缺陷在于消息同步的性能低。 镜像队列包含一个主队列和多个从队列,当生产者向主队列发送一条消息,主队列会将消息同步给从队列,所有的从队列都保存消息后,主队列才会向生产者发送确认。 RabbitMQ使用集群部署时,如果其中一个节点故障下线,待它消除故障重新上线后,它保存的所有
和x-consistent-hash。 Direct Exchange 工作原理: 将一个Queue绑定到某个Direct Exchange上,并赋予该绑定一个Routing Key。 当一个携带着Routing Key的消息被发送给Direct Exchange时,Direct
队列是用于存储消息的,生产者将消息送到队列,消费者从队列中获取和消费消息。多个消费者可以同时订阅同一个队列,队列里的消息分配给不同的消费者。 代理(Broker) 消息中间件的服务节点。 Vhost Vhost是指虚拟主机,用作逻辑隔离,分别管理Exchange、Queue和Bindin
分布式消息服务RabbitMQ版”。 通过以下任意一种方法,为RabbitMQ实例续费。 勾选RabbitMQ实例名称左侧的方框,可选一个或多个,单击信息栏左上侧的“续费”,弹出“续费”对话框,单击“是”,跳转到“续费”页面。 在待续费的RabbitMQ实例所在行,单击“更多 >
e Access Manager,简称RAM)服务的机制,VPC的所有者可以将VPC内的子网共享给一个或者多个账号使用。通过共享VPC功能,可以简化网络配置,帮助您统一配置和运维多个账号下的资源,有助于提升资源的管控效率,降低运维成本。有关VPC子网共享的更多信息,请参见共享VPC。
broker故障的情况下,不影响RabbitMQ实例持续提供服务。 建议使用多个可用区构建数据容灾能力。 RabbitMQ集群实例支持跨可用区部署,支持跨可用区容灾。如果创建实例时选择了多个可用区,当一个可用区异常时,不影响RabbitMQ实例持续提供服务。 审计是否存在异常数据访问
单机实例和没有配置镜像/仲裁队列的集群实例在变更规格过程中会有分钟级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 配置了镜像/仲裁队列的集群实例在变更规格过程中会有秒级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 Vhost 表2 Vhost约束与限制
AMQPUserPerm objects 需要配置权限的Vhost,一个用户可以配置多个Vhost下的资源权限。 表3 AMQPUserPerm 参数 是否必选 参数类型 描述 vhost 否 String 需要配置权限的Vhost名称,一个用户可以配置多个Vhost下的资源权限。 conf 否 String
明,并且在过期时间前也未调用过Basic.Get命令。“x-expires”参数的值必须为非零整数,单位为ms。 以下示例演示在Java客户端设置队列TTL。 Map<String, Object> args = new HashMap<String, Object>(); args
queueDeclare方法的时候在参数中设置,也可以通过Policy的方式设置。如果一个队列同时使用这两种方式设置的话,Policy的方式具备更高的优先级。 以下示例演示在Java客户端通过调用channel.queueDeclare设置惰性队列。 Map<String, Object>
管理实例 查看和修改RabbitMQ实例基本信息 查看RabbitMQ实例的运行日志 查看RabbitMQ客户端连接地址 查看RabbitMQ实例后台任务 配置RabbitMQ实例标签 配置RabbitMQ实例回收站策略 重置RabbitMQ实例密码 开启RabbitMQ实例插件
ack_required Boolean 消费者客户端是否设置手动ack prefetch_count Integer 消费者客户端预取值 表5 ChannelDetails 参数 参数类型 描述 name String channel信息,包括客户端IP:Port到服务端IP:Port(channel_id)。
如果RabbitMQ实例未开启公网访问,您需要购买一台与RabbitMQ实例网络相通的Windows弹性云服务器,然后登录弹性云服务器访问Web页面。 购买弹性云服务器操作,请参考购买并登录Windows弹性云服务器。 图2 登录实例Web页面 输入用户名和密码,单击“Login”,登录完成。 父主题:
x版本单机实例和没有配置镜像/仲裁队列的集群实例在变更规格过程中会有分钟级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 RabbitMQ 3.x.x版本配置了镜像/仲裁队列的集群实例在变更规格过程中会有秒级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 RabbitMQ
匹配,根据匹配情况路由消息。 自动删除 是否开启自动删除Exchange。 开启:当最后一个绑定的Queue与Exchange解除绑定后,该Exchange会被自动删除。 不开启:当最后一个绑定的Queue与Exchange解除绑定后,不会删除该Exchange。 持久化 RabbitMQ
本章节指导如何在控制台绑定Exchange,支持为Exchange绑定目标Exchange,或者为Queue绑定源Exchange。一个Exchange可以绑定多个目标Exchange,一个Queue可以绑定多个源Exchange。 约束与限制 RabbitMQ 3.x.x版本中,名为“(AMQP defaul
x版本默认支持用户权限管理,您可以在RabbitMQ WebUI页面创建用户,并赋予相应的权限。 约束与限制 开启ACL访问控制会导致没有配置认证信息的客户端连接中断。 前提条件 已购买RabbitMQ AMQP-0-9-1版本的实例。 开启ACL访问控制 登录管理控制台。 在管理控制台左上角单
上扣款业务只应进行一次,商家也只应产生一条订单流水。这时候使用消息幂等就可以避免这个问题。 在实际应用中,导致消息重复的原因有网络闪断、客户端故障等,且可能发生在消息生产阶段,也可能发生在消息消费阶段。因此,可以将消息重复的场景分为以下两类: 生产者发送消息时发生消息重复: 生产