作用:流量削峰、异步操作、系统解耦
流行中间件:Kafka、RocketMQ、RabbitMQ、ActiveMQ
1、基于什么选型?
Kafka | RoketMQ | RabbitMQ | ActiveMQ | |
---|---|---|---|---|
单机吞吐量 | 10万级 | 10万级 | 万级 | 万级 |
开发语音 | Scala | Java | Erlang | Java |
高可用 | 分布式架构 | 分布式架构 | 主从架构 | 主从架构 |
性能 | ms级 | ms级 | us级 | ms级 |
功能点 | 只支持主要的MQ功能 | 顺序消息、事务消息 | 并发强、性能好、时延低 | 成熟产品和社区 |
Kafka:日志型、数据量大(elk/收集日常摄像头数据)
RabbitMq:界面化、容易上手、二次开发难(两个程序解析数据速度不同采用MQ进行交互)
RaketMQ:实时业务型、并发高、高可用
2、怎么保证可靠性?生产消息丢失、MQ消息丢失、消费者消息丢失?MQ适用!
3、RoketMQ实现原理?
4、Broker是怎么存储消息的?
5、Master与Slave之间怎么同步数据?