文章目录
- RocketMQ
- 多个MQ如何选型?
- RocketMQ组成部分有哪些?
- RocketMQ消费模式有几种?
- 消息重复消费如何解决?
- RocketMQ如何保证消息的顺序消费?
- RocketMQ如何保证消息不丢失?
- RocketMQ如何实现分布式事务?
- RocketMQ的消息堆积如何处理?
RocketMQ
下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图
哪里不会点哪里
多个MQ如何选型?
- RabbitMQ
erlang开发,对消息堆积的支持并不好,当大量消息积压的时候,会导致 RabbitMQ 的性能急剧下降。每秒钟可以处理几万到十几万条消息。 - RocketMQ
java开发,面向互联网集群化,功能丰富,对在线业务的响应时延做了很多的优化,大多数情况下可以做到毫秒级的响应,每秒钟大概能处理几十万条消息。 - Kafka
Scala开发,面向日志,功能丰富,性能最高。当你的业务场景中,每秒钟消息数量没有那么多的时候,Kafka 的时延反而会比较高。所以,Kafka 不太适合在线业务场景。 - ActiveMQ
java开发,简单,稳定,性能不如前面三个。不推荐。
RocketMQ组成部分有哪些?
- Nameserver
无状态,动态列表;这也是和zookeeper的重要区别之一。zookeeper是有状态的。 - Producer
消息生产者,负责发消息到Broker。 - Broker