Java消息队列高频面试题及真实面试版答案.docxVIP

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

Java消息队列高频面试题及真实面试版答案.docx

Java消息队列高频面试题及真实面试版答案

一、基础认知类(初级必问)

1、什么是消息队列?日常项目中你用它解决什么问题?

参考答案:

消息队列就是一个异步的中间件,用来存放、转发消息。生产者发消息、消费者取消息处理,全程解耦。

我项目里主要用它解决四个问题:

1、服务解耦:不用接口互相调用,新增业务不用改老代码;

2、异步处理:非核心流程异步化,比如下单后发短信、积分、日志,提升接口响应速度;

3、削峰填谷:秒杀、大促高峰期,瞬间流量压到MQ里,消费者匀速消费,不会打垮数据库和服务;

4、流量削压、任务排队:大批量数据同步、文件解析这类耗时任务,丢队列里慢慢处理。

2、常用消息队列有哪些?各自优缺点?

参考答案:

日常开发最常用的就是RabbitMQ、RocketMQ、Kafka,简单说下区别:

RabbitMQ

优点:稳定性极高、消息可靠性强,支持多种路由策略,社区成熟,中小企业用得多;

缺点:吞吐量一般,大数据量、超高并发场景不如Kafka。

RocketMQ

优点:阿里开源,高并发、高可用、可靠性强,支持事务消息、延时消息,适配电商业务;

缺点:生态不如Kafka,流式处理能力弱一点。

Kafka

优点:吞吐量天花板高、性能极强,适合大数据、日志收集、流式计算;

缺点:消息延迟、实时性一般,不严格保证消息绝对有序,业务可靠性不如RocketMQ和RabbitMQ。

3、

文档评论(0)

1亿VIP精品文档

相关文档