概述
AMQP是一个协议规范,提供统一消息服务的应用层标准高级消息队列协议,其实就是一个协议,就像Http协议一样的.
基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。目标是实现一种在全行业广泛使用的标准消息中间件技术,以便降低企业和系统集成的开销,并且向大众提供工业级的集成服务。
RabbitMQ就是中间的一个实现.
常见概念:
Server
又称Broker,接受客户端的连接,实现AMQP实体服务
Connection
一个网络连接,比如TCP/IP套接字连接
Channel
多路复用连接中的一条独立的双向数据流通道。为会话提供物理传输介质
Message
消息,服务器和应用程序之间传送的数据,由Properties和Body组成。Properties可以对消息进行修饰,比如消息的优先级,延迟等高级特性,Body则就是消息体内容
Virtual Host
虚拟地址,用于进行逻辑隔离,最上层的消息路由。一个Virtual Host里面可以有若干个Exchange和Queue,同一个Virtual Host里面不能有相同名称的Exchange或Queue
Binding
消息队列和交换器之间的关联
Routing Key
一个消息头,交换器可以用这个消息头决定如何路由某条消息
Message Queue
消息队列,用来保存消息直到发送给消费者