排序
面试题:RabbitMQ 中无法路由的消息会去到哪里?
在 RabbitMQ 中,如果消息无法被路由到任何队列(例如没有绑定队列或路由键不匹配),消息的处理方式取决于交换机的配置。以下是消息无法路由时的可能去向: 1. 默认行为:消息被丢弃 如果...
面试题: 如何处理重复消息?
处理重复消息是分布式消息队列中的一个常见问题,通常是由于网络重传、生产者重试或消费者重复消费等原因导致的。为了保证系统的正确性,需要设计合理的机制来处理重复消息。以下是处理重复消息...
面试题: 说一下 AMQP 协议?
AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一个开放标准的应用层协议,用于消息中间件的通信。它定义了消息的格式、传输方式以及消息队列的行为,使得不同厂商的消息队列...
面试题:为什么 RocketMQ 不使用 Zookeeper 作为注册中心呢?而选择自己实现 NameServer?
RocketMQ 选择自己实现 NameServer 而不是使用 Zookeeper 作为注册中心,主要基于以下几个原因: 1. 轻量级设计 Zookeeper 的复杂性:Zookeeper 是一个分布式协调服务,功能强大但相对较重,引...
面试题:RabbitMQ 的 routing key 和 binding key 的最大长度是多少字节?
在 RabbitMQ 中,routing key 和 binding key 的长度是有限制的,具体取决于 RabbitMQ 的版本和配置。 1. 默认长度限制 RabbitMQ 3.8.x 及更高版本: routing key 和 binding key 的最大长度默...
面试题:什么是消息队列?
消息队列(Message Queue)是一种用于在分布式系统中传递消息的中间件技术。它允许不同的应用程序或服务通过发送和接收消息来进行异步通信,从而实现解耦、流量削峰、异步处理等功能。消息队列...
面试题:说一下 Kafka 中关于事务消息的实现?
Kafka 的事务消息机制是为了确保生产者发送的消息能够以原子性的方式写入多个分区,或者在消费和生产的组合操作中实现端到端的精确一次语义(Exactly-Once Semantics)。以下是 Kafka 事务消息...
面试题:Kafka的索引设计有什么亮点?
Kafka 的索引设计是其高性能和高效存储的关键之一。 Kafka 使用了两类索引来加速消息的查找和读取:偏移量索引(Offset Index) 和 时间戳索引(Timestamp Index)。 在面试中,如果被问到“K...
面试题:看过源码?那说说 Kafka 处理请求的全流程?
Kafka 是一个分布式流处理平台,广泛用于构建实时数据管道和流应用。在面试中,如果被问到 Kafka 处理请求的全流程,可以从以下几个方面进行详细阐述: 1. 请求接收与分发 Kafka 使用基于 React...