消息队列中间件Rabbit MQ

MQ简介

  1. MQ 全程 Message Queue ,主要用于分布式系统。重要且复杂,功能强大,在解决问题的时候会产生新问题,比如高可用,幂等性
  2. 消息发送者 称为生产者;接受者称为消费者

MQ 优点

  1. 应用解耦
    通常系统之间提倡高内聚 低耦合。在分布式系统需要降低系统之间的耦合性,提高整个系统的容错性;耦合性越高,容错性越低;
    比如 分布式多个系统: 订单系统直接和 对应的 库存、支付、物流系统进行调用,一旦订单系统出现问题,其他对应的系统会挂掉。
    如图:
    可以在订单系统 和对应系统之间加上MQ,订单系统作为生产者只关给发消息给MQ,其他子系统负责 消费,就提供高了应用解耦,
    如果有一天需要再加一个子系统,那就方便多了,如图来:
    应用解耦 提高了系统的容错性和可维护性
  2. 异步提速
    订单系统通过MQ来保存订单信息,其对应的子系统逐步消费,这样的订单系统的性能提高了用户的体验,吞吐量。如图:
  3. 削峰填谷
    削峰:A系统每秒的处理1000个提交,比如A系统晚上6点有抢卷活动,届时可能有10000/s个请求来访问A系统,必然奔溃;
    可通过MQ 接受请求,A系统作为消费者逐步处理这个10000个请求。
    填谷:MQ持续处理处理高并发产生的大量请求数据,直到这些数据被处理完
    削峰填谷提高了系统的稳定性

 MQ 缺点

  1. 系统的可用性降低:一单MQ宕机,就会对业务造成影响
  2. 系统复杂性:防止被重复消费,数据丢失,业务执行顺序。
  3. 一致性问题:系统数据一致性问题保证

MQ 总结

  1. 什么时候 使用MQ?
    A 系统调用B系统,必须等待B系统的反馈后才能做其他操作,这样不适合用MQ
  2.  强大且复杂,增加的系统的复杂性和出错的几率。
  3.  容许数据暂短的不一致

 Rabbit MQ 简单介绍

Rabbit 工作模式类型分别介绍(.NET Core)

 总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值