rabbitmq 笔记简要 七

31.生产者如何将消息可靠投递到mq?

  1.client发送消息给mq

  2.mq将消息持久化后,发送ack消息给client,此处有可能因为网络问题导致ack消息无法发送到client,那么client在等待超时后,会重新传递消息。

  3.client收到ack消息后,认为消息已经投递成功。

32.mq如何将消息可靠投递到消费者?
  1.mq将消息push给client,(或client来pull),

  2.client得到消息并做完业务逻辑。

  3.client发送ack消费给mq,通知mq删除该消息,此处有可能因为网络问题导致ack失败,那么client会重复消息,这里就引出消息幂等的问题

  4.mq将已消费的消息删除

33.如何保证rabbitmq消息的高可用?
  1.rabbitmq有三种模式:单机模式,普通集群模式,镜像集群模式

  单机模式:就是demo级别的,一般就是本地启动玩玩而已,没人生产模式用单机模式

  普通集群模式:就是在多台机器上启动多个rabbitmq实例,每个机器启动一个。

  镜像集群模式:这种模式,才是所谓的rabbitmq·的高可用模式,跟普通集群不一样的的是,你创建的queue,无论元数据还是queue里的消息都会存在于多个实例上,然后每次你写消息到queue逇时候,都会自动把消息到多个实例的queue里进行消息同步。

上一篇:Rabbitmq的三种方式


下一篇:Spring cloud stream【入门介绍】,java程序设计简明教程课后答案