排序
面试题:Kafka为什么要抛弃 Zookeeper?
Kafka 从 2.8.0 版本开始引入了 Kafka Raft Metadata Mode(KRaft),逐步摆脱了对 Zookeeper 的依赖。这一变化是 Kafka 架构演进的重要里程碑。在面试中,如果被问到“Kafka 为什么要抛弃 Zook...
面试题:说一下消息队列的模型有哪些?
消息队列的模型是指消息在系统中传递和处理的模式。不同的模型适用于不同的业务场景,常见的消息队列模型包括以下几种: 1. 点对点模型(Point-to-Point, P2P) 定义 生产者将消息发送到队列中...
面试题:说说 RabbitMQ 的工作模式?
RabbitMQ 是一个功能强大的消息队列中间件,支持多种工作模式(也称为消息模式或交换类型),以满足不同的业务需求。以下是 RabbitMQ 的主要工作模式及其特点: 1. 简单模式(Simple Mode) 描...
面试题:说一下 Kafka 为什么性能高?
Kafka 之所以性能高,主要得益于以下几个关键设计: 1. 顺序读写 Kafka 将消息顺序写入磁盘,避免了随机 I/O 操作。顺序读写比随机读写快得多,尤其是在机械硬盘上。 消费者也是顺序读取消息,...
面试题:看过源码?那说说 Kafka 控制器事件处理全流程?
Kafka 控制器(Controller)是 Kafka 集群的核心组件之一,负责管理集群的元数据和协调分布式操作。控制器的主要职责包括分区 Leader 选举、分区重新分配、Broker 上下线处理等。在面试中,如果...
面试题:RabbitMQ 怎么实现延迟队列?
1. 使用 RabbitMQ 官方插件 rabbitmq_delayed_message_exchange 这是最直接的方式。RabbitMQ 提供了一个官方插件 rabbitmq_delayed_message_exchange,它允许你创建一个延迟交换机,...
面试题:简述下消息队列核心的一些术语?
消息队列(Message Queue)是分布式系统中常用的组件,用于解耦生产者和消费者,实现异步通信和流量削峰。以下是消息队列中的一些核心术语及其解释: 1. 生产者(Producer) 定义:生产者是消息...
面试题:如何保证消息的有序性?
保证消息的有序性是消息队列设计中的一个重要问题,尤其是在需要严格顺序处理的场景中(如订单处理、日志处理等)。以下是如何保证消息有序性的常见方法和技术: 1. 消息有序性的挑战 在分布式...
面试题:如何保证消息不丢失?
保证消息不丢失是消息队列设计中的一个核心问题,尤其是在对数据可靠性要求较高的场景中(如金融交易、订单处理等)。为了实现这一目标,需要在消息的生产、存储和消费各个环节采取相应的措施。...
面试题:你了解 Kafka 中的时间轮实现吗?
Kafka 中的时间轮(Timing Wheel)是一种高效管理定时任务的机制,主要用于延迟操作,如延迟生产、延迟拉取等。时间轮的核心思想是通过一个环形数组来表示时间槽,每个槽对应一个时间间隔,任务...