MQ简介
MQ概述 MQ是Message Queue的简称,意为消息队列,从字面意思上可以理解MQ的是一个存放消息的容器,并且它的 数据结构为队列(FIFO先进先出) 。MQ一般应用于 应用解耦,异步处理提速,流量削峰 ,实现高性能,高可用,可伸缩和最终一致性架构。 在MQ中一般存在三种角色 Broker、生产者、消费者 ,在不同的MQ产品中,也会存在不同的其他角色,这里只简单介绍一下主要的三种角色的作用:Broker也就是MQ服务,用于将生产者发送过来的消息按照类型分类存放在不同的队列中;生产者(自己实现)用于将数据发送到Broker;消费者(自己实现)用于从消息队列中获取数据进行消费。 MQ的优势 1、应用解耦:解耦各个应用,提高系统的扩展性、容错性和可维护性;比如在电商系统中订单系统需要调用库存系统、支付系统、物流系统进行业务操作,假如库存系统宕机,那么整个系统将不可用。使用了MQ之后,订单系统与库存系统的耦合度降低,库存系统挂掉不会影响订单主业务流程。 原始架构 MQ架构 2、异步提速:提高接口响应速度和系统吞吐量,提升用户体验;在分布式架构中,我们经常使用http、rpc等方式进行服务间的接口调用,那么假如订单系统调用库存系统修改库存需要300ms,成功修改库存后再调用支付系统进行支付需要300ms,最后支付完成调用物流系统进行发货需要300ms,再加上订单入库需要50ms