0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简单认识AMQP通信协议

倍加福 来源:倍加福 2025-01-10 18:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在工业4.0、物联网、智能工厂和智能设备构建的未来蓝图中,跨层级的连接扮演着核心角色。我们正见证着一场变革:传统的、分层的自动化金字塔结构正在被一种更大、更全面的网络结构所取代。在这种新结构中,各个节点不仅相互连接,还实时交换数据,共同编织出智能化的网络。

MQTT、OPC UA、AMQP和REST API等多样化的通信协议,正是实现这一智能通信的关键。本期内容,我们将深入探讨AMQP通信协议的特性,并分析应用场景中的优势。

什么是AMQP?

它如何工作?

高级消息队列协议(AMQP)以其异步发布/订阅通信的特性,最初由摩根大通银行在2003年开发,并于2005年由RedHat、Microsoft、Software AG和Cisco等业界巨头组成的工作组进一步推动。经历数轮试验性发布后,AMQP在2011年迎来了其正式版,并被确立为OASIS标准。2014年,AMQP获得了ISO/IEC认证(19464:2014)。

AMQP最初服务于企业和金融行业,但其在工业领域的应用潜力同样不容小觑。人们常将其与MQTT进行比较。尽管两者在高层级上有着相似之处,AMQP实际上构建了一个更为完整的生态系统。

在AMQP的网络架构中,客户端和代理均被称为容器(如下图所示),它们构成了网络中的多个节点,可以是生产者、消费者或队列。生产者负责生成消息,消费者接收消息,而代理则负责存储和转发消息。一个客户端可以同时扮演消费者和生产者的双重角色。这些节点在应用中可以是平面的,也可以是分层的,并通过链路相互连接。链路是节点间的单向路径,它们在会话的更高层级上形成,并拥有唯一的标识符。即使容器间的连接中断,链路也能在恢复后重新建立。

e2e430e0-cf07-11ef-9310-92fbcf53809c.jpg

典型的AMQP应用

AMQP不仅支持代理,路由器还可以集成到网络,路由器只实施AMQP传输层,执行传输任务,无需对消息进行列队。路由器在生产者和消费者间建立同步连接,适合跨地域通信。AMQP网络中,代理和路由器可并行工作。在消息传输方面,AMQP有两种传输机制:“已解决”(最多一次)和“未解决”(至少一次)。整个(带注释的)消息的传输格式是 XML,但消息主体可以使用各种编码格式,如二进制、JSON、Avro 或 XML。

AMQP VS MQTT 对比

01互操作性: AMQP VS MQTT

AMQP以其紧凑的特性,专注于定义数据类型这一核心的互操作性功能。使用链接可以确保特定生产者节点的可用性,使AMQP更适用于计算机与机器间的交互。

尽管如此,在某些应用场景中,设备间的通信可能并非完全开放,可能需要通过一定的推断来理解如何与其他设备进行有效沟通。在这方面,AMQP与MQTT有着相似之处,尤其是在人机交互的体验上。用户可以轻松地在手册中查找可用的生产者数据。

02实时性: AMQP VS MQTT

AMQP作为一种发布/订阅通信协议,能够实现快速的数据传递。虽然由于其较大的有效载荷,AMQP可能无法与MQTT在速度上相媲美,但它仍然能够提供接近实时的通信性能。

03安全性: AMQP VS MQTT

AMQP本身不内置安全性,但它的安全性可以通过多种措施来加强。例如,可以通过TLS(传输层安全协议)对底层网络连接进行加密,确保数据传输的安全性。此外,还可以利用SASL(简单认证和安全层)对订阅者进行身份验证。

04实现度: AMQP VS MQTT

AMQP与MQTT类似,都采用了发布/订阅模式,但AMQP在消息传输方面提供了更丰富的选项。这种灵活性意味着AMQP对应用资源的需求更高,且其实现过程也相对更为复杂。对于需要利用AMQP扩展功能的场景,推荐使用库来简化实现过程。通过这种方式,AMQP传输协议能够更高效地被集成和运用。

AMQP 适用于哪些应用场景?

AMQP主要用于商业和企业级应用领域,但其轻量级的应用中也具备优势。在这些轻量级场景中,AMQP能够独立于HTTPS或WebSockets等外部应用层协议,提供完整的解决方案。与MQTT相比,AMQP具有更广泛的适用性,适用于多种功能实现:

监控和实时发布更新

向暂时离线的客户端延迟传输数据

监控风险相关数据或控制内部操作

内部事件的分发

关于倍加福

倍加福–未来自动化的驱动者和创新者

倍加福以德国曼海姆为公司总部,凭借其持续不断的对创新技术的研发,向全球工厂自动化和过程行业的客户提供丰富而多样的产品,致力于自动化行业的传统应用和面向未来的应用。同时,倍加福不断推动前瞻性技术的开发,为客户迎接即将来临的工业 4.0 的挑战铺平了道路。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信协议
    +关注

    关注

    28

    文章

    1073

    浏览量

    41866
  • 物联网
    +关注

    关注

    2939

    文章

    47310

    浏览量

    407560
  • AMQP
    +关注

    关注

    0

    文章

    7

    浏览量

    2798
  • 倍加福
    +关注

    关注

    0

    文章

    191

    浏览量

    7960

原文标题:解锁IIoT潜力,详解AMQP通信协议

文章出处:【微信号:gh_c9a84232a0b5,微信公众号:倍加福】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何应用mavlink通信协议

    如何应用mavlink通信协议
    发表于 12-20 06:30

    常见的物联网通信协议蓝牙简单对比

    @TOC浅析物联网(智能家居)无线通信协议物联网无线传输方案产品开发,通信协议(生态)选择至关重要,简单对比一下常见的物联网通信协议蓝牙(Bluetooth), Wi-Fi,Zigbe
    发表于 01-11 07:24

    掌握通信协议的研究方法

    从根本出发,从简单开始,逐步加码,从而让你彻底掌握通信协议的研究方法。就是串口uart,因为uart只有物理层,尤其是TTL电平的uart,就是个很简单很直观的物理层协议。你可以通过学
    发表于 01-13 06:09

    UART通信协议的相关资料推荐

    一、前言1、简介  写的这篇博客,是为了简单讲解一下UART通信协议,以及UART能够实现的一些功能,还有有关使用STM32CubeMX来配置芯片的一些操作,在后面我会以我使用的STM32F429
    发表于 01-25 06:40

    如何实现基础通信协议的设计?

    常见的通信协议格式是什么?如何实现基础通信协议的设计?
    发表于 02-14 07:35

    高效的串行通信协议的制定及实现

    探讨了一种基于串行通信简单、高效的通信协议制定方法。实验结果证明,该协议有效提高了串行通信通信
    发表于 12-03 17:22 18次下载
    高效的串行<b class='flag-5'>通信协议</b>的制定及实现

    Modbus通信协议教程

    Modbus通信协议教程Modbus通信协议教程Modbus通信协议教程
    发表于 12-08 14:14 76次下载

    SCPI通信协议

    SCPI通信协议
    发表于 05-04 17:54 180次下载

    一个简单的基础通信协议的设计与实现

    一个简单的基础通信协议的设计与实现一种常见的通信协议格式搭建串口收发环境配置STM32CubeMX添加USART部分代码通信协议的实现不同设备之间的
    发表于 12-14 18:38 10次下载
    一个<b class='flag-5'>简单</b>的基础<b class='flag-5'>通信协议</b>的设计与实现

    通信协议的特点

    通信协议的种类和特点目前常见的通信协议主要有:NetBEUI、IPX/SPX、NWLink、TCP/IP,在这几种协议中用得最多、最为复杂的当然还是TCP/IP协议,最为
    发表于 05-06 14:57 1992次阅读

    简单认识UART串行通信协议

    在电子通信领域,UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)是一种非常常见的串行通信协议。它被广泛应用于各种设备之间
    的头像 发表于 05-27 16:09 3272次阅读

    简单认识I2C通信协议

    I2C(Inter-Integrated Circuit)通信协议是由飞利浦公司(现为恩智浦半导体)开发的一种简单、双向二线制同步串行总线协议。自1982年发布以来,I2C协议因其高效
    的头像 发表于 07-25 18:06 3290次阅读

    简单认识UART通信协议

    UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)通信协议是一种常见的串行通信协议,广泛应用于计算机、嵌入式系统、传感器、无线通信
    的头像 发表于 07-25 18:07 2804次阅读

    PROFINET通信协议是什么

    PROFINET通信协议是一种专为工业自动化领域设计的基于以太网的实时通信协议。以下是对PROFINET通信协议的详细解析,包括其定义、特点、体系结构、工作原理、通信方式、应用领域以及
    的头像 发表于 09-25 18:13 7074次阅读

    详解REST API通信协议

    的一环。 为了实现这一目标,我们采用了多种通信协议,包括MQTT、OPC UA、AMQP和REST API,它们共同构成了智能通信的坚实基础。本期内容,让我们聚焦REST API通信协议
    的头像 发表于 01-17 12:40 1596次阅读
    详解REST API<b class='flag-5'>通信协议</b>