• AMQP高级消息队列协议


    一、什么是AMQP?

      AMQP(Advanced Message Queuing Protocol)是具有现代特征的二进制协议。是一个提供统一消息服务的应用层标准高级消息队列协议。是应用层协议的一个开放标准,为面向消息的中间件设计。

      AMQP作为一个消息,其实现的产品有RabbitMQ,类似的消息协议还有JMS(Java Message Service)java消息服务 ,JMS的产品实现有ActiveMQ。

    二、AMQP协议模型?

      下面图中展示了消息message的流转过程。
      消息生产者(Publisher application)发出消息到达消息中间件服务(Server)上的某个虚拟主机(Virtual host)上的某交换机(Exchange)中。然后该交换机会与一个消息队列(Message Queue)进行绑定。而我们的消息消费者(Consumer application)直接从消息队列中获取到消息然后去消费就可以了。
    在这里插入图片描述

    三、AMQP核心概念?

    名词 描述
    Server 也叫做Broker,接收客户端的连接,实现AMQP实体服务
    Channel 网络信道,几乎所有的操作都在Channel中进行。Channel是消息读写的通道。客户端可以建立多个Channel,每个Channel代表一个会话
    Connection 连接,应用程序与Server之间的网络连接
    Message 消息,服务器与应用程序之间传递的数据,由properties和body组成。properties可以对消息进行修饰,如消息的优先级,延迟等高级特性;body就是消息的内容
    Virtual host 虚拟地址,用于进行逻辑隔离,最上层的消息路由。一个Virtual host里面可以有多个Exchange 和 Queue,同一个Virtual host中不能有同名的Exchange 和Queue
    Exchange 交换机,接收消息,根据路由键转发消息到
    Binding 绑定,Exchange和Queue之间进行虚拟连接,Binding中可以包含路由键(routing key)
    Routing key 一个路由规则,虚拟机可以用它来确定如何路由一个消息
    Message Queue 消息队列,保存消息并转发给消费者

    四、消息交换体系结构

      AMQP协议可以支持多种消息交换的体系结构:

    • 存储转发(多个消息发送者,单个消息接收者)
    • 分布式事务(多个消息发送者,多个消息接收者)
    • 发布订阅(多个消息发送者,多个消息接收者)
    • 基于内容的路由(多个消息发送者,多个消息接收者)
    • 文件传输队列(多个消息发送者,多个消息接收者)
    • 点对点连接(单个消息发送者,单个消息接收者)
  • 相关阅读:
    如何使得VIM显示行号
    mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication的解决方法
    重启PHP命令
    一个方便的shell命令,查看软件安装目录
    Centos中安装vim
    centos yum安装mysql
    nginx安装php和php-fpm
    大数据实时计算工程师/Hadoop工程师/数据分析师职业路线图
    vim命令
    linux 下MySQL的安装
  • 原文地址:https://www.cnblogs.com/wgty/p/12810405.html
Copyright © 2020-2023  润新知