当前位置:   article > 正文

消息队列面试题_消息队列相关面试题

消息队列相关面试题

1.为什么使用消息队列?

消息队列解决的核心问题主要是:异步、解耦、消峰填谷。

2、消息队列有哪些使用场景?

一般来说,有下面使用场景:

  • 应用解耦
  • 异步处理
  • 流量削峰
  • 消息通讯
  • 日志处理

3、消息队列的优缺点?

异步、解耦、消峰填谷这是消息队列最大的优点。缺点主要在于系统的可用性、复杂性、一致性问题,引入消息队列后,需要考虑MQ的可用性,万一MQ崩溃了岂不是要爆炸?而且复杂性明显提高了,需要考虑一些消息队列的常见问题和解决方案,还有就是一致性问题,一条消息由多个消费者消费,万一有一个消费者消费失败了,就会导致数据不一致。

4.RabbitMQ怎么实现延迟消息队列?

延迟队列的实现有两种方式:

通过消息过期后进入死信交换器,再由交换器转发到延迟消费队列,实现延迟功能;

使用 RabbitMQ-delayed-message-exchange 插件实现延迟功能。

5.RabbitMQ怎么实现消息的稳定性?

提供了事务的功能。 通过将 channel 设置为 confirm(确认)模式。

如何保证消息的顺序性
需要保持先后顺序的消息放到同一个消息队列中(kafka中就是partition,rabbitMq中就是queue)。然后只用一个消费者去消费该队列。
如果为了吞吐量,有多个消费者去消费怎么办?

RabbitMQ:单线程消费保证消息的顺序性;对消息进行编号,消费者处理消息是根据编号处理消息。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/1017783
推荐阅读
相关标签
  

闽ICP备14008679号