消息队列面试题总结

12/10/2023 微服务

[toc]

# 消息队列面试题总结

# 为什么使用MQ?MQ的优点?

使用的MQ的好处就是:异步,解耦,流量削峰。

  • 异步:微服务中,一个业务功往往涉及到多个服务。而完成一个业务功能,往往需要按步骤完成多个服务(例如先完成服务A-》再完成服务B-》最后完成服务C),这需要花费一些时间。而MQ提供的异步消息,可以让我们同时完成多个服务(同时完成服务ABC),这样可以减少业务功能的完成时间。
  • 解耦:通过消息队列,可以将服务与服务之间的耦合,转换为服务与消息队列之间的耦合。降低了服务之间的耦合度。
  • 流量削峰:对于MQ来说,服务与服务之间的调用,就相当于互相之间发消息。可以利用消息队列的特性,来缓解消息的发送量。相当于缓解服务的请求并发量。例如延时消息等。

# MQ有什么优缺点?

  • 系统可用性降低:由于系统中服务之间的调用,从之前的直接调用,变成了依赖MQ的调用。这样会导致系统的可用性降低。

  • 系统复杂度提高

    • 如何保证消息传输的可靠性?
    • 如何保证消息不被重复消费?
    • 消息消费失败后,业务如何回滚?

# MQ有哪些常见问题?

常用问题主要有两个?

  1. 如何保证有序消息的有序生产和有序消费?
  2. 如何保证消息不被重复消费?
Last Updated: 12/14/2023, 1:26:01 AM