AMQP和HTTP之间有什么区别?
让我们首先了解高级消息队列协议 (AMQP) 和超文本传输协议 (HTTP) 的概念。
AMQP
高级消息队列协议 (AMQP) 是一种处理发布者和消费者的消息协议。发布者生成消息,而消费者接收消息并进行处理。
以下是AMQP的图形表示:
此协议用于客户端-服务器消息传递和物联网设备管理。它允许在应用程序之间传递消息。
AMQP是一个新的标准设计,旨在满足金融机构的需求,它支持互操作性和共享,允许企业在广泛的基础设施中协同工作。
AMQP是一个安全、紧凑、可靠的二进制传输协议,用于在应用程序之间移动消息。它支持经典的消息代理。
AMQP的层次
AMQP通常分为两层:
功能层 - 基本文件传输事务、交换消息队列访问和控制流。
传输层 - 帧内容数据表示、错误处理。
功能层定义了一组代表应用程序执行有用工作的命令。
传输层将这些方法从应用程序传输到服务器并返回,它处理信道多路复用、帧、内容编码、数据表示和错误处理。
AMQP的设计是为了实现标准化消息中间件技术的开发和行业范围内的使用,这将降低企业和系统集成的成本,并为广大受众提供工业级的集成服务。
HTTP
HTTP代表超文本传输协议,是一种应用层协议。使用嵌入在超文本中的超链接,Web 开发人员能够连接网页。
HTTP是万维网 (WWW) 数据通信的基础。它由 Tim Berners-Lee 于 1989 年在 CERN 发明。它在客户端-服务器计算模型中充当请求-响应协议。
例如,让我们考虑一个浏览器作为客户端,以及在托管网站的计算机上运行的应用程序作为服务器。
客户端首先向服务器发起 HTTP 请求消息。然后,服务器收集请求的资源(例如 HTML 文件或任何其他内容)并响应客户端。
如果服务器上找不到请求的资源,它将向客户端发送错误。
以下是HTTP的图形表示:
区别
AMQP和HTTP的主要区别如下:
AMQP | HTTP |
---|---|
AMQP的全称是高级消息队列协议。 | HTTP的全称是超文本传输协议。 |
AMQP由摩根大通开发。 | HTTP由蒂姆·伯纳斯·李开发。 |
AMQP是异步数据通信。 | HTTP是同步通信。 |
我们可以轻松地设置和管理AMQP协议。 | HTTP可以应用于各个方面。 |
AMQP保证消息传递。 | 在HTTP中,不保证消息传递。 |
AMQP提供订阅接口。 | HTTP提供点对点接口。 |
AMQP可以管理服务器问题。 | HTTP无法对服务器问题做出反应。 |
AMQP是一种经济高效的协议。 | HTTP是一种多用途协议。 |
它将消息处理成槽。 | 它可以将消息处理为段。 |