总结
- 项目里怎么样使用 MQ 的?
- 为什么要使用消息队列?
- 消息队列有什么优点和缺点?
- kafka,activemq,rabbitmq,rocketmq 都有什么区别?
- 如何保证消息队列高可用?
- 如何保证消息不被重复消费?
- 如何保证消息的可靠性传输?
- 如何保证消息的顺序性?
- 写一个消息队列架构设计?
最终一致性、消息重复【幂等问题、消息顺序问题重点关注。
RocketMQ、Kafka为什么快?
参考
-
消息队列的使用场景。
- 异步通信
注册时的短信、邮件通知,减少响应时间;
- 应用解耦
信息发送者和消息接受者无需耦合,比如调用第三方;
- 流量削峰
例如秒杀系统
- 日志处理
比如 Kafka 的应用,解决大量日志传输的问题
- 消息通信
①、点对点通讯:客户端A和客户端B使用同一队列,进行消息通讯
②、聊天室通讯(发布订阅模式):客户端A,客户端B,客户端N订阅同一主题,进行消息发布和接收。实现类似聊天室效果。
-
消息的重发,补充策略。
-
如何保证消息的有序性。
- 用过哪些MQ,和其他mq比较有什么优缺点,MQ的连接是线程安全的吗,你们公司的MQ服务架构怎样的。
-
MQ系统的数据如何保证不丢失。
-
rabbitmq如何实现集群高可用。
-
kafka吞吐量高的原因。
-
kafka 和其他消息队列的区别,kafka主从同步怎么实现。
-
利用mq怎么实现最终一致性。
- 使用kafka有没有遇到什么问题,怎么解决的。
-
MQ有可能发生重复消费,如何避免,如何做到幂等。
- MQ的消息延迟了怎么处理,消息可以设置过期时间么,过期了你们一般怎么处理。