rabbitmq 20 / 26 题

rabbitmq注意点和调优

简答版本RabbitMQ 调优主要围绕内存、磁盘、连接、消费者四个维度。内存方面,vm_memory_high_watermark 默认 40% 偏低,建议调到 60%70%,同时设好 paging_ratio...

简答 困难
admin 06-06

rabbitmq镜像队列

简答版本镜像队列是 RabbitMQ Classic Cluster 下的高可用方案,通过 Policy...

简答 困难
admin 06-06

rabbitmq仲裁队列

仲裁队列是 RabbitMQ 基于 Raft 共识协议的队列类型,消息写入需多数节点确认才算成功,保证已确认数据绝不丢失。声明时设 x-queue-type:...

简答 困难
admin 06-06

rabbitmq搭建集群有几种方式,每种方式的优缺点,数据怎么分布

2. 普通集群(Classic Cluster):原理: 每个节点共享元数据(队列名、Exchange、绑定关系),但消息只存在主节点node1: queue_A 的主人 → 消息在 node1 上 node2: 知道...

简答 简单
admin 06-06

rabbitmq搭建集群

2. RabbitMQ 集群的核心概念:① 节点类型:元数据: 队列名称、位置、Exchange、绑定关系、用户权限等消息数据: 队列里的消息内容,只存在队列主节点所在的服务器上推荐:...

简答 困难
admin 06-06

rabbitmq+saga具体如何实现

Saga模式原理: 把分布式事务拆成一系列本地事务,每步成功后发消息触发下一步,失败则发消息触发前面所有步骤的补偿事务(撤销)两个核心:每个正向操作必须写对应的补偿操作(撤销)补偿按相反顺序执行两种实现:编排式(推荐简单场景):...

简答 困难
admin 06-06

RabbitMQ 如何解决分布式事务?

RabbitMQ 不支持分布式事务: 数据库操作和发消息无法在同一个事务里,需要其他方案保证最终一致性方案一 — 本地消息表(最推荐):业务入库 + 写消息表(同个本地事务)异步发送消息,失败不抛异常后台定时任务扫描 PENDING...

简答 困难
admin 06-06

rabbitmq配置

简答版本RabbitMQ...

简答 中等
admin 06-06

rabbitmq本地重试还是重试队列

简答版本消息消费失败需要重试,有两种方式:本地重试和重试队列。本地重试是消费者在内存里用循环重试,实现简单但消费者挂了消息就丢了,且会阻塞其他消息消费。重试队列是把失败的消息 nack 回 RabbitMQ,进入设了 TTL...

简答 简单
admin 06-06

rabbitmq如何顺序消费消息

RabbitMQ 同一个 Queue 内消息是 FIFO 有序的,但多个 Consumer 并行消费时处理速度不同,会导致乱序。解决方案:最简单是单 Consumer 但吞吐低;最推荐的是按业务 Key(如订单号)路由到不同...

简答 简单
admin 06-06

rabbitmq持久化

 简答版本RabbitMQ 持久化保证重启后数据不丢失,需要三要素全部持久化:Exchange 设 durable=True(交换器元数据存盘)、Queue 设 durable=True(队列元数据存盘)、Message 设...

简答 简单
admin 06-06

rabbitmq惰性队列

惰性队列定义: 消息直接写磁盘不缓存内存,消费时才从磁盘读取加载核心优势: 内存占用极低,消息堆积百万条也不会触发 Flow Control普通 vs 惰性:...

简答 简单
admin 06-06

Rabbitmq 延迟队列

延迟队列定义: 消息发送后延迟一段时间才被消费,典型场景:订单30分钟未支付自动关闭、定时提醒、延迟重试实现方案一 — TTL + 死信队列(原生):队列设 x-message-ttl +...

简答 简单
admin 06-06

rabbitmq如何保证幂等性,消息不被重复消息

重复消费原因: 消费者崩溃未 ack → 重入队;nack+requeue;网络抖动 ack 丢失;生产者超时重发幂等性定义: 同一条消息消费多次,效果和消费一次完全一样,不产生副作用Redis SETNX 去重(最常用):...

简答 简单
admin 06-06

rabbitmq如何保证消息不要过多生产

代码层限速: 令牌桶/匀速发送/批量间隔控制发送速率,最灵活Confirm 模式: 同步等确认或异步+发送窗口,感知 Broker 是否能接住队列长度限制: x-max-length +...

简答 简单
admin 06-06

rabbitmq消息堆压如何解决

简答版本消息堆压就是生产比消费快,队列积压大量消息。先排查原因——是生产突增还是消费卡住。紧急止血靠加消费者实例、临时消费者转储、暂停生产者。根本解决要优化消费逻辑(减少处理时间、并发消费、调...

简答 简单
admin 06-06

rabbitmq插件是什么,有哪些,怎么安装

定义: 扩展 RabbitMQ 功能的模块,rabbitmq-plugins enable/disable 一条命令开关常用插件:rabbitmq_management → Web 管理界面,必开,端口...

简答 简单
admin 06-06

Rabbitmq 死信队列

死信队列(DLQ)是存放无法正常消费消息的特殊队列。消息变成死信有三种原因:消费者 nack/reject 且 requeue=false、消息 TTL 过期、队列达到最大长度。创建死信队列的关键是在普通队列创建时设置...

简答 简单
admin 06-06

rabbitmq如何保证,消息被正确消费

核心机制:手动 ack(auto_ack=False)处理成功 → basic_ack → 消息从队列删除处理失败 → basic_nack(requeue=True) → 重新入队再试消费者崩溃 → 没 ack → 连接断开 →...

简答 简单
admin 06-06

rabbitmq如果发送没有成功,那么代码是阻塞 的吗,还是异步再发送,还是把原先执行的其他操作回滚了

confirm 模式(最常用)— 默认是同步阻塞的pythonchannel.confirm_delivery() try:     channel.basic_publish(        ...

简答 简单
admin 06-06
1 / 2 页(共 26 题)
每页 20 50 100
上一页 下一页