【资料图】
为什么要使用消息队列?
我们从三个方面讲:
第一:为了解耦,在一个链路中,A调B,B调C。若是C挂了,那么整个链路都断掉,若是在,A和B,B和C之间有消息中间件,那么C挂机了,那么A和B会继续运行,可以继续产出消息,等C好了,再消费中间件中的消息
第二:异步,A完成消息,放入中间件中,B有空了再去消费,再放入到C的中间件中,C空了再去消费,从而实现了异步
第三:流量削峰填谷,某一瞬间某一个步骤出现大量消息时,该步骤不能立刻处理,就可以放入消息队列中等待排队处理
消息队列的缺点?
第一:可用性降低,增减了消息队列,不仅要保证服务正常,还要保证消息队列正常使用,从而降低了可用性
第二:复杂度增高,使用消息队列,需要实现生产者消费者关系逻辑
第三:一致性问题,消息队列中的消息重复性问题,一致性问题