消息队列mq本质就是一种存储服务,和mysql、redis、mongo不同的是他的存储会被消费,也就是说最终表现在存储为zero,
常用的消息队列服务有:kafka、rocket mq。
主要解决应用耦合,异步消息,流量削锋等问题;
很好奇我为什么要学习mq?因为工作需要。
使用场景是这样的:平台服务有一个打包服务,这个打包服务比较耗费cpu, 对接的外部服务是一个订单服务平台,这个平台会产生高并发的订单,而每一笔订单对于平台服务来讲就会执行一次打包服务,这样的cpu耗费谁都顶不住,因此为避免高并发导致的cpu崩溃,拟打算将订单信息先放到中间件服务mq中,这样一个生产者:订单平台,一个mq:kafka,一个消费者:平台服务.
那么mq在这个场景中表现出的作用就像是:使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。