AMQP通常会定义服务器端域模型,以用于规范服务器的行为。 AMQP服务端通常称为AMQP Broker AMQP的三层协议分别是:Model层,Session层,Transport层
Model层:模型层决定了基本域模型所产生的行为,这种行为再AMQP中用‘Command’表示 Session层:会话层定义客户端与Broker之间的通信,通信双方都是一个Peer,可互称作Partner,会话层为模型层的Command提供可靠的传输保障 Transport层:传输层专注于数据传送,并与Session保持交互,接收上层的数据并组装成二进制流,数据传到Receiver后再进行解析并交付给Seesion层,Session层需要Transport层完成网络异常情况的汇报,顺序传送Command等工作。
Broker:消息队列服务器实体,如RabbitMQ-server进程就是一个Broker Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列 Queue:消息队列载体,用于存储消息的容器,每个消息都会被投入到一个或多个队列,Queue需要绑定到Exchange上才能接受消息 Binding:绑定的作用就是把Exchange和Queue按照路由规则绑定起来 RoutingKey:路由关键字,Exchange根据这个关键字与Binding的匹配关系来决定消息投递到哪个队列 VirtualHOST:虚拟主机,一个Broker里可以创建多个虚拟主机,用于隔离不同用户的权限 Producer:消息的生产者,是投递消息的应用程序 Consumer:消息消费者,是接受消息的应用程序 Channel:消息通道,在客户端的每个连接里,可建立多个Channel,每个Channel代表一个会话任务