跳至主要內容
RabbitMQ-高级篇

RabbitMQ-高级篇

消息队列在使用过程中,面临着很多实际问题需要思考:

image-20210718155003157

1.消息可靠性

消息从发送,到消费者接收,会经理多个过程:

image-20210718155059371

其中的每一步都可能导致消息丢失,常见的丢失原因包括:

  • 发送时丢失:
    • 生产者发送的消息未送达exchange
    • 消息到达exchange后未到达queue
  • MQ宕机,queue将消息丢失
  • consumer接收到消息后未消费就宕机

Mr.Jh大约 19 分钟高级微服务RabbitMQ
RabbitMQ

RabbitMQ

1.初识MQ

1.1.同步和异步通讯

微服务间通讯有同步和异步两种方式:

同步通讯:就像打电话,需要实时响应。

异步通讯:就像发邮件,不需要马上回复。

image-20210717161939695

两种方式各有优劣,打电话可以立即得到响应,但是你却不能跟多个人同时通话。发送邮件可以同时与多个人收发邮件,但是往往响应会有延迟。

1.1.1.同步通讯

我们之前学习的Feign调用就属于同步方式,虽然调用可以实时得到结果,但存在下面的问题:


Mr.Jh大约 16 分钟基础微服务RabbitMQ