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协议可以支持多种消息交换的体系结构:

  • 存储转发(多个消息发送者,单个消息接收者)
  • 分布式事务(多个消息发送者,多个消息接收者)
  • 发布订阅(多个消息发送者,多个消息接收者)
  • 基于内容的路由(多个消息发送者,多个消息接收者)
  • 文件传输队列(多个消息发送者,多个消息接收者)
  • 点对点连接(单个消息发送者,单个消息接收者)
发布了117 篇原创文章 · 获赞 57 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43655835/article/details/104776646