MQ的优劣势

MQ的优势与劣势以及常见的MQ

  • 优势
  • 劣势
  • 常见的MQ

优势

  • 应用解耦
    假如有以下系统,我们下单需要库存系统,支付系统,物流系统的协作,如果使用远程调用的方式,如果其中一个系统挂了,那么整个系统将处于瘫痪状态,这样系统之间的耦合性就会很高
    MQ的优劣势_第1张图片
    如果某一天需要增加一个系统,或者修改某个系统,那么订单系统就会频繁的改动,那么就会造成系统维护很复杂,那么如过加了MQ的,订单系统就把订单订单发送到mq,其他系统只需要从mq中取出订单信息去消费就可以了。比如库存系统失败,他也不会影像整个系统。如过需要加入x系统只需要x系统从mq中取出消息消费就行
    MQ的优劣势_第2张图片

  • 异步提速
    下单到物流是一个同步的操作,如过加入MQ,如过下单只需要花费保存数据的操作,以及发消息到mq的操作花费的时间

  • 削峰填谷
    没有MQ的时候,用户的所有请求落到A系统
    MQ的优劣势_第3张图片
    有了MQ之后,用户的请求先发送到mq,在有A系统一个一个的取出消费
    MQ的优劣势_第4张图片
    MQ的优劣势_第5张图片

劣势

  • 系统可用性降低
    在这里插入图片描述
    系统引入的外部依赖越多,系统的稳定性越差。一旦MQ宕机,就会对业务造成影像,如果没有MQ,只需要保证系统与B系统的可用性就行,加了MQ还得保证mq的可用性
  • 系统复杂性提高
    MQ的加入增加了系统的复杂度,以前系统间是同步的远程调用,现在通过mq进行异步调用。还需要考虑消息会不会被重复消费,MQ是否可用,消息消失,消息传递的顺序性等。
  • 一致性问题
    A系统处理完业务,通过MQ给B,C,D三个系统发送消息,如果B系统,C系统处理成功,D系统处理失败,如果保证数据的一致性

常见的MQ

MQ的优劣势_第6张图片

你可能感兴趣的:(mq,rabbitmq)