检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
源和操作监控能力,帮助用户对每个RabbitMQ实例进行自动实时监控、告警和通知操作。用户可以实时掌握实例的各类业务请求、资源占用、流量、连接数和消息积压等关键信息。 关于DMS for RabbitMQ支持的监控指标,以及如何创建监控告警规则等内容,请参见支持的监控指标。 父主题:
上扣款业务只应进行一次,商家也只应产生一条订单流水。这时候使用消息幂等就可以避免这个问题。 在实际应用中,导致消息重复的原因有网络闪断、客户端故障等,且可能发生在消息生产阶段,也可能发生在消息消费阶段。因此,可以将消息重复的场景分为以下两类: 生产者发送消息时发生消息重复: 生产
租户配置安全组的入方向、出方向规则限制,可以控制连接实例的网络范围,避免DMS for RabbitMQ暴露给不可信第三方,详情请参见配置安全组。安全组入方向规则的“源地址”应避免设置为0.0.0.0/0。 建议将访问RabbitMQ实例方式设置为密码访问,防止未经认证的客户端误操作实例。 RabbitMQ
是否开启公网访问开关。 公网连接地址 开启公网访问后,连接实例的地址。 公网访问Web界面UI地址 开启公网访问后,访问实例管理工具的地址。 表3 连接参数说明(RabbitMQ AMQP-0-9-1版本) 参数 说明 内网连接地址 未开启公网访问时,连接实例的地址。 ACL访问控制
x版本需要设置此参数。RabbitMQ AMQP-0-9-1版本Queue默认开启持久化。 是否开启Queue持久化。 开启:该Queue在服务器重启后仍然存在。 不开启:该Queue在服务器重启后会被删除,需要重新创建。 自动删除 是否开启自动删除Queue。 开启:在订阅该Queue消息的最后一个消费
重置RabbitMQ实例密码 如果您忘记了创建实例时设置的密码,可以通过重置密码功能,重新设置一个新的密码,使用新密码连接RabbitMQ实例。 约束与限制 RabbitMQ AMQP-0-9-1版本不支持重置实例密码。 前提条件 RabbitMQ实例处于“运行中”状态时,才能重置密码。
压测性能为准。 服务端的性能主要跟以下因素相关:队列数、消息堆积、连接数、channel、消费者数、镜像队列、优先级队列、消息持久化和exchange类型等,在选择实例规格时,请根据业务模型压测结果选择。 一条连接最多可以开启2047个channel。 单机版实例可用于测试场景,
息发送到死信交换机中,并根据“x-dead-letter-routing-key”为死信消息设置死信路由Key。 以下示例演示在Java客户端配置死信交换机和路由: channel.exchangeDeclare("some.exchange.name", "direct");
在声明队列时,可以配置单一活跃消费者,只需要将队列的“x-single-active-consumer”参数设置为“true”。 以下示例演示在Java客户端设置单一活跃消费者。 Channel ch = ...; Map<String, Object> arguments = newHashMap<String
告警级别:重要 未确认消息数过多可能会导致消息堆积 检查消费者是否异常 检查消费者逻辑是否消耗时间过长 连接数 告警阈值:原始值>业务预期连接数 连续触发次数:1 告警级别:重要 连接数突增可能是流量变大的预警 需检查业务是否正常,可参考其他告警 通道数 告警阈值:原始值>业务预期通道数
00.0008 创建ECS失败。 public.00.0009 创建ECS失败。 public.00.0010 创建ECS失败。 public.00.0011 ECS绑定网卡失败。 public.00.0013 ECS启动失败。 public.00.0014 ECS启动失败。 public
设置队列过期时间。队列过期时间以x-message-ttl值体现。从消息进入队列开始计算,超过了配置的队列过期时间,消息会自动被删除。 在客户端代码中设置x-message-ttl值,单位为毫秒(ms)。 Map<String, Object> arguments = new HashMap<String
AMQP-0-9-1版本Exchange默认开启持久化。 是否开启Exchange持久化。 开启:该Exchange在服务器重启后仍然存在。 不开启:该Exchange在服务器重启后会被删除,需要重新创建。 Internal 仅RabbitMQ 3.x.x版本包含此参数。 Exchange是否为RabbitMQ内部使用。
也可以通过Policy的方式设置。如果一个队列同时使用这两种方式设置的话,Policy的方式具备更高的优先级。 以下示例演示在Java客户端通过调用channel.queueDeclare设置惰性队列。 Map<String, Object> args = new HashMap<String
开启待下线插件后,容易引起过载风险,影响业务面稳定。 rabbitmq_web_stomp插件通过临时队列提供WebSocket能力,同时其连接和释放依赖于心跳机制,过多的临时队列以及过多连接数会导致内存高水位,从而导致节点状态异常。 消减措施 已开启插件的实例,建议参考设置RabbitMQ告警规则,配置相应的告警,提前预知并消减风险。
实例问题 RabbitMQ使用的版本是多少? RabbitMQ实例SSL连接的协议版本号是多少? 创建实例时为什么无法查看子网和安全组等信息? RabbitMQ集群实例如何均衡分发请求到每个虚拟机? RabbitMQ实例集群内部的队列是否有冗余备份? RabbitMQ实例是否支持持久化,如何定时备份数据?
参数设置为“quorum”。此参数只能在声明队列时设置,不能通过Policy设置。 仲裁队列默认的复制因子是5。 以下示例演示在Java客户端设置仲裁队列。 ConnectionFactory factory = newConnectionFactory(); factory.s
RabbitMQ集群实例如何均衡分发请求到每个虚拟机? 集群内部使用LVS做负载均衡,由LVS将请求均衡分发到每个虚拟机节点。 父主题: 实例问题
String 实例内网连接IP地址。 connect_domain_name String 实例内网连接域名。 public_connect_address String 实例公网连接IP地址。 public_connect_domain_name String 实例公网连接域名。 port
RabbitMQ使用的版本是多少? 服务端RabbitMQ的版本是3.8.35和AMQP-0-9-1。 父主题: 实例问题