消息队列面试题共29篇

面试题:消息队列设计成推消息还是拉消息?推拉模式的优缺点?

在设计消息队列时,推模式(Push)和拉模式(Pull)是两种常见的消息传递方式。它们各有优缺点,适用于不同的场景。以下是对推模式和拉模式的详细分析: 1. 推模式(Push) 在推模式中,消息队...
程序百科的头像-程序百科程序百科36天前
0337

面试题:RabbitMQ 中消息什么时候会进入死信交换机?

在 RabbitMQ 中,死信交换机(Dead Letter Exchange, DLX) 是一种特殊的交换机,用于处理无法被正常消费的消息。当消息满足某些条件时,它会被重新发布到死信交换机,进而路由到死信队列...
程序百科的头像-程序百科程序百科36天前
04310

面试题:如何处理消息堆积?

消息堆积是消息队列中常见的问题,通常是由于消费者处理能力不足、消息生产速率过快或系统故障导致的。处理消息堆积需要从多个方面入手,包括优化消费者性能、调整消息队列配置、扩容系统资源等...
程序百科的头像-程序百科程序百科36天前
03810

面试题:RabbitMQ 中无法路由的消息会去到哪里?

在 RabbitMQ 中,如果消息无法被路由到任何队列(例如没有绑定队列或路由键不匹配),消息的处理方式取决于交换机的配置。以下是消息无法路由时的可能去向: 1. 默认行为:消息被丢弃 如果...
程序百科的头像-程序百科程序百科36天前
0298

面试题:如何保证消息的有序性?

保证消息的有序性是消息队列设计中的一个重要问题,尤其是在需要严格顺序处理的场景中(如订单处理、日志处理等)。以下是如何保证消息有序性的常见方法和技术: 1. 消息有序性的挑战 在分布式...
程序百科的头像-程序百科程序百科36天前
04215

面试题:RabbitMQ 怎么实现延迟队列?

1. 使用 RabbitMQ 官方插件 rabbitmq_delayed_message_exchange 这是最直接的方式。RabbitMQ 提供了一个官方插件 rabbitmq_delayed_message_exchange,它允许你创建一个延迟交换机,...
程序百科的头像-程序百科程序百科38天前
0465

面试题:看过源码?那说说 Kafka 处理请求的全流程?

Kafka 是一个分布式流处理平台,广泛用于构建实时数据管道和流应用。在面试中,如果被问到 Kafka 处理请求的全流程,可以从以下几个方面进行详细阐述: 1. 请求接收与分发 Kafka 使用基于 React...
程序百科的头像-程序百科程序百科36天前
02211

面试题: 如何处理重复消息?

处理重复消息是分布式消息队列中的一个常见问题,通常是由于网络重传、生产者重试或消费者重复消费等原因导致的。为了保证系统的正确性,需要设计合理的机制来处理重复消息。以下是处理重复消息...
程序百科的头像-程序百科程序百科36天前
0288

面试题:说一下 Kafka 为什么性能高?

Kafka 之所以性能高,主要得益于以下几个关键设计: 1. 顺序读写 Kafka 将消息顺序写入磁盘,避免了随机 I/O 操作。顺序读写比随机读写快得多,尤其是在机械硬盘上。 消费者也是顺序读取消息,...
程序百科的头像-程序百科程序百科36天前
0528