1.什么是AMOP ,其与 RabbitMQ有什么关系?
AMQP,全称为 Advanced Message Queuing Protocol(高级消息队列协议),是一种开放的、广泛应用于消息队列服务的网络协议。它旨在允许不同的应用程序或系统之间进行可靠的、基于消息的通信,即使这些应用运行在不同的操作系统和编程语言环境中。AMQP 提供了一个层次化的架构模型以及与之对应的自足的机制来完成整个消息传递过程。
AMQP 具有高可靠性、安全性、灵活的消息路由、跨平台兼容等特性。
RabbitMQ 是 AMQP 协议的一个知名实现,它不仅完全支持 AMQP 标准,还扩展了许多其他功能,比如 MQTT、STOMP 等协议的支持,使其成为构建分布式系统中消息传递层的理想选择。此外,AMQP 通常用于金融交易处理、服务器日志收集、业务流程自动化等领域,因其能够提供高效、稳定且灵活的消息传递服务。
2.AMQP的3层协议?
Module Layer:协议最高层,主要定义了一些客户端调用的命令,客户端可以用这些命令实现自己的业务逻辑。
Session Layer:中间层,主要负责客户端命令发送给服务器,再将服务端应答返回客户端,提供可靠性同步机制和错误处理。
TransportLayer:最底层,主要传输二进制数据流,提供帧的处理、信道服用、错误检测和数据表示等。
3.AMQP模型的几大组件?
- 交换器 (Exchange):消息代理服务器中用于把消息路由到队列的组件。
- 队列 (Queue):用来存储消息的数据结构,位于硬盘或内存中。
- 绑定 (Binding): 一套规则,告知交换器消息应该将消息投递给哪个队列。