【中间件】MQ(作用、组成、复制和刷盘策略、幂等、堆积与延迟、死信队列)面试题
RocketMQ
为什么选RokenMQ
RabbitMQ对消息堆积的支持不太好;
ActiveMQ性能比较差;
Kafka性能最高,但是如果业务场景中每秒消息数量没有那么高,Kafka的延迟反而比较高。
RocketMQ可以做到毫秒级响应,每秒也能处理几十万条消息。
为什么用MQ
解耦、异步、削峰
RocketMQ 组成 作用
- Name Server
- Broker管理
- 路由信息管理
- Broker
- Client Manager
- Store Service
- HA Service
- Index Service
- Producer
- 生产消息,发送到Broker
- Consumer
- 从Broker拉去消息进行消费
RocketMQ中的Topic和JMS的queue有什么区别
queue就是来孕育数据结构的FIFO队列。而Topic是个抽象的概念,每个Topic底层对应n个queue,而数据也真实存在queue上的。
RocketMQ消费模式有几种
- 集群消费:进度保存在Broker
- 广播消费:进度保存在Consumer