Bootstrap

SpringCloud微服务学习笔记(三)_RabbitMQ

RabbitMQ

  • 同步通讯
    在同步通信中,发送方发出请求后,会等待接收方处理完成并返回结果后再继续执行。也就是说,发送方在收到响应之前会被“阻塞”。
    比如支付操作
  • 异步通信
    在异步通信中,发送方发出请求后,不需要等待接收方处理完成,而是立即返回并继续执行后续操作。接收方在处理完成后,会通过回调或事件通知发送方结果。
    比如短信发消息
    同步调用和异步调用的概念还是有差异的,通讯面向用户,调用面向服务器

同步调用的优缺点(所有服务同时处理)

消息提供者–>消息消费者,消息传完就没了

  • 优点
    时效性强,等待到结果后才返回
  • 缺点
    拓展性差
    性能下降
    级联失败问题

异步调用的优缺点(服务异步处理)

消息提供者–>消息代理–>消息消费者

  • 优点
    耦合度低,拓展性强
    异步调用,无需等待,性能好
    故障隔离,下游服务故障不影响上游业务
    缓存消息,流量削峰填谷
  • 缺点
    不能立刻得到调用结果,时效性差
    不确定下游业务执行是否成功
    业务安全依赖于Broker(消息队列中间件)的可靠性
;