Java消息队列面试题及详细答案(实战完整版).docxVIP

  • 1
  • 0
  • 约4千字
  • 约 7页
  • 2026-08-24 发布于河北
  • 举报

Java消息队列面试题及详细答案(实战完整版).docx

Java消息队列面试题及详细答案(实战完整版)

一、基础概念类(入门必问)

1.什么是消息队列?核心作用是什么?

消息队列是一种异步的进程间通信、服务间通信组件,通过队列的方式存储、转发消息,实现系统之间的数据交互,是分布式系统的核心中间件之一。

核心作用主要有4点,也是业务中最常用的场景:

解耦:上下游系统无需直接对接调用,生产者只发消息、消费者只消费消息,新增/下线服务不影响其他模块,大幅降低系统耦合度。

削峰填谷:应对秒杀、大促等瞬时高并发流量,将突发请求缓存到队列中,让消费者匀速处理,避免瞬时流量压垮后端服务。

异步处理:非核心业务异步化,比如注册成功发短信、订单完成发积分,主线程无需等待,大幅提升接口响应速度。

流量脱敏、限流:统一拦截请求,控制消费速率,避免下游服务过载。

2.常见消息队列有哪些?各自的优缺点和适用场景?

目前企业主流使用的MQ:RabbitMQ、RocketMQ、Kafka、ActiveMQ(老旧项目)

(1)RabbitMQ

优点:支持消息确认、死信队列、延迟队列、重试机制,功能完善,可靠性极高,社区文档丰富,部署简单。

缺点:吞吐量较低,单机万级QPS,不适合超高并发场景。

适用场景:金融、支付、订单等对消息可靠性要求极高、并发量中等的业务。

(2)RocketMQ(阿里开源)

优点:高吞吐、高可用,支持事务消息、延迟消息、顺序消息,可靠性强

文档评论(0)

1亿VIP精品文档

相关文档