zoukankan      html  css  js  c++  java
  • RabbitMQ的5种模式

    队列截图,去rabbitMq.com去找学习文档

    =============================================================================================================================

     ==============================================================================================================================

     第一种模式:简单模式

     缺点:没有实现解耦,比如说购物车和搜索,需要创建两个队列

    =================================================================================================================================

     第二种模式:work模式

     上图注意:只能有一个消费者获取到消息;谁先拿到呢?靠争抢,哪个争抢到给哪个.

     应用场景:

    比如说现在有一个系统,这个系统作用是写数据到数据库,但是你想如果其他系统都去访问这个系统的话,就会导致本系统的压力变大,

    解决这个问题:做一个集群,做写入数据到数据库这件事情,这两个系统做的是同一件事情,他们写数据时不能重复写入数据,其他系统调用这个系统时就可以看做是给他下发任务.做的是不同的事情.

    ===================================================================================================================================

    消息的确认模式

     自动确认:例如美团消费,只要消息拿走,不管使用出不出错,就算消费成功

    手动确认:顾客使用的优惠券需要商家确认后才算消费成功

    ==========================================================================================================================

    第三种:发布订阅模式(交换机第一种)

     将消息发送到了交换机,然后上下两个队列绑定到了交换机,然后消息发送到队列,每个队列有一个消费者

     

     结果:发一个消息能够通知多个消费者

     ===========================================================================================================================

    第四种模式:路由模式(routing)(交换机第二种)

     交换机类型type=direct路由模式

    消费者一:队列一绑定到交换机时指定了一个路由key叫error

    消费者二:指定了三个

    如果现在发送error的消息,消费者一和消费者二都能拿到

    如果发送info消息,只有消费者二能拿到;

    通过图示可以看出,有选择性的来接收消息

     ===================================================================================================================================

    第五种:主题模式(交换机第三种)

     #:匹配一个或者多个词

    *:匹配一个词

    通配符模式比较路由模式:

    改进:可以匹配key

    仔细看上图!!!

  • 相关阅读:
    Add a Simple Action using an Attribute 使用特性添加简单按钮
    通俗易懂,什么是.NET/.NET Framework/.NET Core/.Net Standard?
    一文详解微服务架构
    我是如何失去团队掌控的?
    如何高效的学习技术
    Implement Property Value Validation in Code 在代码中实现属性值验证(XPO)
    设计模式学习笔记 ———— 简单工厂模式
    #ifndef/#define/#endif使用详解
    模块化开发
    源代码生成可执行文件的内部机理
  • 原文地址:https://www.cnblogs.com/curedfisher/p/11890464.html
Copyright © 2011-2022 走看看