zoukankan      html  css  js  c++  java
  • 002 Rabbitmq的基础概念

    一 .整体的架构图

    从整体上看,Rabbitmq就是一个生产者消费者模型,我们称中间的容器为broker.现在我们不去管broker的结构.

    整个运作的过程就是生产者生产一个消息,然后通过broker发送给一个消费者.


     二 .基础概念

    [1]生产者

    生产者就是消息的投递一方.

    [2]消息

    在rabbitmq之中消息可以分成两个部分,一个是消息的标签,另外一个就是payload(消息体部分).

    其中消息标签页可以称为消息的头,其中包含了一些关键的信息,比如将消息投递到哪一个交换机之中,其中的路由键是什么,另外还可以附加一些特殊的属性值.

    payload就是消息体,消息的生产者和消费者主要交互的数据都存在在这里,另外需要说明的就是这个内容是一个接口,只要双方都遵守就可以.

    [3]消费者

    就是消息的接收方,在消息的路由过程之中,消息的标签会不断的丢失,最终消费者需要的只是消息的payload.

    [4]broker

    我们一般称为Rabbitmq的服务实例.

    整个使用的过程如上图,就是一个生产者消费者的模型.

     [5]队列

    队列是rabbitmq之中存储消息的地点.它具有下面的特点:

    [1]队列可以拥有多个消费者,但是消费的数据是队列轮询提供,保证消息不被重复消费.

    [2]存储在队列的消息可以被持久化,保证消息不丢失.

    [6]交换机

    生产者将消息直接发送到交换机之中,而每一个交换机可以与多个队列绑定.

    消息之中的路由键决定消息到底会被发送到哪一个队列之中.

    交换机和队列的关系的描述是由绑定键决定的.

    交换机拥有不同的类型,不同类型的交换机也具有不同的特性.

  • 相关阅读:
    ABP文档翻译--值对象
    (转)SqlServer 数据库同步的两种方式 (发布、订阅),主从数据库之间的同步
    Sql Service 的job作业新建过程
    Python --- pyinstaller --- 打包成exe并更换图标
    基于树形检测器的多标志识别
    记录 TypeError: render() got an unexpected keyword argument 'renderer' 错误
    Dockerfile 关键字
    Go new 和 make的区别
    Go的数据类型
    Mac Go 环境变量配置
  • 原文地址:https://www.cnblogs.com/trekxu/p/10529684.html
Copyright © 2011-2022 走看看