zoukankan      html  css  js  c++  java
  • RabbitMQ:相关概念

    RabbitMQ是基于AMQP协议的。

    1.AMQP核心概念

    Server:又称Broker,接受客户端的连接,实现AMQP实体服务。

    Connection:连接,应用程序与Brocker的网络连接。

    Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道,客户端可以建立多个Channel,每个Channel代表一个会话任务。

    Message:消息,服务器和应用程序之间传送的数据,由properties和body组成。properties可以对消息进行修饰,body就是消息体内容。

    Virtual host:虚拟地址,用于进行逻辑隔离,最上层的消息路由,一个Virtual host里面可以由若干个Exchange和Queue,但是同一个Virtual host不能包含有相同名称的Exchange和Queue。

    Exchange:交换机,接收消息,根据路由键转发消息到绑定的队列。

    Binding:Exchange和Queue之间的虚拟连接,binging中可以包含routing key。

    Routing key:一个路由规则,虚拟机可用它来确定如何路由一个特定消息。

    Queue:消息队列,保存信息并将他们转发给消费者。

    AMQP协议模型:

    2.RabbitMQ整体架构图

     3.消息发布接收流程

    发送消息:

    1.生产者和Broker建立TCP连接。

    2.生产者和Broker建立通道。

    3.生产者通过通道消息发送Broker,由Exchange将消息进行转发。

    4.Exchage将消息转发到指定的Queue(队列)

    接收消息:

    1.消费者和Broker建立TCP连接

    2.消费者和Broker建立通道

    3.消费者监听指定的Queue

    4.当有消息到达Queue时Broker默认将消息推送到消费者

    5.消费者接收到消息

  • 相关阅读:
    (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功
    flutter环境搭建
    并发
    java集合继承关系图
    java中反射的使用
    android使用http3
    java之结合代码理解synchronized关键字
    阿里云ECS服务器将默认的Ubuntu系统改成桌面版
    python之demo2----改编自python官方提供的turtle_yinyang.py画阴阳的demo
    python之demo1----改编自turtle.py文件中的demo
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/12970655.html
Copyright © 2011-2022 走看看