一、几大经典MQ
activeMQ、rabbitMQ、rocketMQ、kafka
技术选型场景:
1、activeMQ:适合毕设这种小打小闹,偶尔还会丢消息,项目已经不怎么维护了
2、rabbitMQ: 适合体量不大的小公司,不过本身是集群形式,不是分布式
3、rocketMQ:是阿里使用java语言重写并优化的kafka,分布式。如果是类似阿里的业务,推荐使用
4、kafka: 公司主要玩大数据、流计算、数据量大且运维人员比较多,就用kafka
二、MQ的作用
1、在分布式系统中进行异步、应用解耦
2、削峰填谷(例如秒杀场景,底层数据库扛不住,处理不了过高的并发。MQ帮忙限流)
3、数据分发(例如:订单消息会同时调用多个物流公司。如果使用传统接口或者rpc,工作量很大。但有了MQ后,订单系统只需要发一个消息,至于到底有多少物流系统需要消费MQ,就不是发消息的人关心的了)