• RabbitMQ 消息模型


    RabbitMq有3种常用的消息模型,其中订阅模式又分成3类

    1.基本消息模型:生产者将消息发送到队列,消费者从队列中获取消息,队列是存储消息的缓冲区

    2.Work Queues工作模型:一个生产发送消息到队列,允许有多个消费者接收消息,但是一条消息只会被一个消费者获取。

    3.订阅模式(包含3种):生产者不是直接发送消息到队列,而是先发送给交换机,经由交换机分配到不同的队列,而每个消费者都有自己的队列

      1、1个生产者,多个消费者

      2、每一个消费者都有自己的一个队列

      3、生产者没有将消息直接发送到队列,而是发送到了交换机

      4、每个队列都要绑定到交换机

      5、生产者发送的消息,经过交换机到达队列,实现一个消息被多个消费者获取的目的

    订阅模式之fanout(广播)

    1. 可以有多个消费者,每个消费者都有自己的队列
    2. 每个队列都要与exchange绑定
    3. 生产者发送消息到exchange
    4. exchange将消息把消息发送到所有绑定的队列中去
    5. 消费者从各自的队列中获取消息

    订阅模式之direct

      在路由模式(Direct)中,可以实现不同的消息被不同的队列消费,在Direct模式下,交换机不再将消息发送给所有绑定的队列,而是根据Routing Key将消息发送到指定的队列,队列在与交换机绑定时会设定一个Routing Key,而生产者发送的消息时也需要携带一个Routing Key。

    订阅模式之Topics

      Topic类型的Exchange与Direct相比,都是可以根据RoutingKey把消息路由到不同的队列。只不过Topic类型Exchange可以让队列在绑定Routing key 的时候使用通配符

    小人才疏学浅,看官不喜勿喷,谢谢
  • 相关阅读:
    Jenkins和Postman 集成,使用Allure 输出测试报告
    Jenkins 中使用VSTest.console 进行单元测试,使用Allure 输出测试报告
    如果网页中有ShawdowDOM ,如何使用 Selenium Web Driver 进行操作
    postman 不能打开
    chrome DEvTools 使用
    使用selenium 连接到一个已经打开的浏览器
    如何查看电脑开关机时间
    Task.Wait() 和 await Task 的区别
    已经过了1/3的2020
    Laravel7 配置jwt ,并处理 Unauthorized 错误
  • 原文地址:https://www.cnblogs.com/feiqilai/p/15739636.html
Copyright © 2020-2023  润新知