SorryToPerson logo
返回
后端2026-04-15

后端面试题:分布式消息传递

总结消息队列、事件驱动架构、异步通信和常见面试问题。

后端面试题:分布式消息传递

1. 什么是事件驱动架构?

  • 组件通过事件通信。
  • 发布者和订阅者解耦。
  • 提高系统可扩展性和可维护性。

2. 常见的消息队列系统有哪些?

  • RabbitMQ、Apache Kafka、ActiveMQ。
  • Amazon SQS、Google Pub/Sub、NATS。

3. 消息队列的主要优势是什么?

  • 消峰填谷。
  • 异步处理。
  • 解耦服务。
  • 提高系统可靠性。

4. 你如何保证消息不丢失?

  • 使用持久化消息。
  • 开启消息确认机制(ACK)。
  • 保证幂等消费。

5. 什么是幂等消费者?

  • 即使重复消费同一条消息,系统仍然只处理一次。
  • 常见实现包括唯一请求 ID、去重表/缓存。

6. 如何处理消息队列中的“死信”?

  • 使用死信队列(DLQ)。
  • 将无法处理或超时的消息转入 DLQ 进行后续分析。

7. 面试常问的消息模型有哪些?

  • 点对点(Queue)。
  • 发布/订阅(Pub/Sub)。
  • 主题模式和路由键。

8. Kafka 与 RabbitMQ 有哪些区别?

  • Kafka 更适合日志流、事件流处理。
  • RabbitMQ 注重消息路由和确认机制。
  • Kafka 保留消息并支持高吞吐。
后端消息队列分布式