消息队列

觉知此事要躬行...

Posted by Lydia on July 26, 2020

总结

  • 项目里怎么样使用 MQ 的?
  • 为什么要使用消息队列?
  • 消息队列有什么优点和缺点?
  • kafka,activemq,rabbitmq,rocketmq 都有什么区别?
  • 如何保证消息队列高可用?
  • 如何保证消息不被重复消费?
  • 如何保证消息的可靠性传输?
  • 如何保证消息的顺序性?
  • 写一个消息队列架构设计?

最终一致性、消息重复【幂等问题、消息顺序问题重点关注。

RocketMQ、Kafka为什么快?

参考

史上最全阿里 Java 面试题总结

消息中间件MQ与RabbitMQ面试题(2020最新版)

消息队列设计精要

消息队列


  1. 消息队列的使用场景。

    1. 异步通信

    ​ 注册时的短信、邮件通知,减少响应时间;

    1. 应用解耦

    ​ 信息发送者和消息接受者无需耦合,比如调用第三方;

    1. 流量削峰

    ​ 例如秒杀系统

    1. 日志处理

    比如 Kafka 的应用,解决大量日志传输的问题

    1. 消息通信

     ①、点对点通讯:客户端A和客户端B使用同一队列,进行消息通讯

    ②、聊天室通讯(发布订阅模式):客户端A,客户端B,客户端N订阅同一主题,进行消息发布和接收。实现类似聊天室效果。

  2. 消息的重发,补充策略。

    消息的重发以及补充策略

  3. 如何保证消息的有序性。

    消息队列如何保证顺序性?

  4. 用过哪些MQ,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗,你们公司的MQ服务架构怎样的。
  5. MQ系统的数据如何保证不丢失。

    消息丢失怎么办

    如何保证消息不丢失

    如何保证消息中间件全链路数据100%不丢失

  6. rabbitmq如何实现集群高可用。

    rabbitMQ高可用方案

    【译】为什么 Kafka 这么快?

  7. kafka吞吐量高的原因。

    Kafka为什么吞吐量大、速度快?

  8. kafka 和其他消息队列的区别,kafka主从同步怎么实现。

    Kafka,Mq,Redis作为消息队列使用时的差异?

  9. 利用mq怎么实现最终一致性。

    MQ消息最终一致性解决方案

  10. 使用kafka有没有遇到什么问题,怎么解决的。
  11. MQ有可能发生重复消费,如何避免,如何做到幂等。

    MQ之如何做到消息幂等

    如何保证业务的幂等性

  12. MQ的消息延迟了怎么处理,消息可以设置过期时间么,过期了你们一般怎么处理。

参考

参考