问题:

  1. 为什么使用消息队列
  2. 消息队列有什么优点和缺点
  3. kafka,activeMq,rabbitmq,rocketMq都有什么区别,以及适合那些场景

优点:结偶,并发削峰,异步
缺点:可用性降低,系统复杂性变高,
重复消费:系统发了两条,两条都插入了数据库
消息丢失:系统根本没法请求到目标系统
一致性问题:系统要再ABC三个系统都执行成功之后才返回成功,结果AB成功了,C失败了

mq的6种工作模式:

  • 简单模式:一个生产者,一个消费者
  • work模式:一个生产者,多个消费者,每个消费者获取到的消息唯一。
  • 订阅模式:一个生产者发送的消息会被多个消费者获取。
  • 路由模式:发送消息到交换机并且要指定路由key ,消费者将队列绑定到交换机时需要指定路由key
  • topic模式:将路由键和某模式进行匹配,此时队列需要绑定在一个模式上,“#”匹配一个词或多个词,“*”只匹配一个词。

4个mq的优缺点对比:

kafka,activeMq,rabbitmq,rocketMq都有什么区别,以及适合那些场景
kafka,activeMq,rabbitmq,rocketMq都有什么区别,以及适合那些场景
rabbitMq : 开源项目,社区活跃,中小型工时使用
rocketMq :大型公司,基础研发能力抢,使用rocketMq
kafka : 大数据领域实时计算,日志采集,用kafka是业内标准

相关文章: