Atitit mq的AMQP 协议 STOMP2 、MQTT3 等协议  MQTT,XMPP,STOMP,AMQP,WAMP 目录 1. AMQP in a Nutshell 1 2. MQTT概述

Atitit mq的AMQP 协议 STOMP2 、MQTT3 等协议  MQTT,XMPP,STOMP,AMQP,WAMP

 

目录

1. AMQP in a Nutshell 1

2. MQTT概述即Message Queuing Telemetry Transport. 消息队列遥澳~传输 1

3. The Dirt on STOMP 2

4. WAMP  Web 应用消息协议(WAMP,Web Application Messaging Protocol)[ 3

5. XMPP 3

5.1. Pusher / PubNub&Co 4

5.2. ZeroMQ 4

5.3. 4、DataSync 5

5.4. Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议 6

6. 选择二进制还是基于文本? 6

 

  1. AMQP in a Nutshell

AMQP代表高级消息队列协议,旨在作为现有的专有消息中间件的开放替代品。使用AMQP的两个最重要的原因是可靠性和互操作性。顾名思义,它提供了与消息传递相关的各种功能,包括可靠的排队,基于主题的消息发布和订阅,灵活的路由,事务和安全性。AMQP以扇出形式,按主题和基于标题直接交换路由信息。

 

 

  1. MQTT概述即Message Queuing Telemetry Transport. 消息队列遥澳~传输

MQTT. 即Message Queuing Telemetry Transport. 消息队列遥澳~传输,是ffiM 开发的一个即时通信协议,有可能成为物联网
的重要组成部分.该协议支持所有平台,几乎可以把所有物联网和外部连接起来,被用来当作传感器和制动器的通信协议。

 

MQTT(消息队列遥测传输)最初是由IBM的 pervasive computing团队和他们工业领域的合作伙伴合作开发的。在过去的几年中,协议已经转移到开源社区,随着移动应用程序的开始,人们看到了显着的增长,并且它正在进入标准组织的手中。

MQTT的设计原则和目标比AMQP更简单,更集中 - 它提供了发布和订阅消息传递(没有队列,尽管名称),专门针对资源受限的设备和低带宽,高延迟网络,例如拨号线路和卫星链路。基本上,它可以在嵌入式系统中有效使用。

  1. The Dirt on STOMP

STOMP. 即Simple (or Stre阻úng) Text Oriented Messaging Protocol. 简单(流〕文本面向消息协议,它提供了一个可互操作的
连接格式,运行STOMP 客户端与任意STOMP 消息代理C Broker ) 进行交互。STOMP 协议由于设计简单, 易于开发客户端,
因此在多种语言和平台上得到广泛的应用.

STOMP(简单/流式文本导向的消息传递协议)是这三种协议中唯——种基于文本的协议,因此就其在封面上的外观而言,它更类似于HTTP。与AMQP一样,STOMP提供带有属性的消息(或帧)标头和帧体。这里的设计原则是创建一些简单且可广泛互操作的东西。例如,可以使用像telnet客户端这样简单的东西连接到STOMP代理。

但是,STOMP不处理队列和主题——它使用带有“目标”字符串的SEND语义。代理必须映射到内部理解的内容,例如主题,队列或交换。消费者然后订阅这些目的地。由于规范中没有强制要求这些目的地,因此不同的经纪人可能会支持不同的目的地风格。因此,在代理之间移植代码并不总是直截了当的。

然而,STOMP简单而轻巧(尽管在线上有点冗长),具有广泛的语言绑定。它还提供了一些事务语义。其中一个最有趣的例子是RabbitMQ Web Stomp,它允许您通过websockets在浏览器中公开消息。这开辟了一些有趣的可能性——比如使用所有类型的信息实时更新浏览器,移动应用程序或机器。

  1. WAMP  Web 应用消息协议(WAMP,Web Application Messaging Protocol)[

9],它尝试开发一种开放的、基于文本的协议标准,并且结合了基于发布-订阅的请求/响应编程模型,同时具备强大的路由和消息投递策略。目前它被广泛用于集成 crossbar.io[10] 路由器和 autobahn 的高速缓存客户端[11]。

 

 
收藏

780

34

  1. XMPP

 编辑

同义词 xmpp协议一般指XMPP

XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

中文名

可扩展通讯和表示协议

外文名

Extensible Messaging and Presence Protocol

简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议。XMPP is the IETF's formalization of the base XML streaming protocols for instant messaging and presence developed within the Jabber open-source community in 1999

 

    1. Pusher / PubNub&Co

那些实时通信平台即服务(Realtime platform-as-a-service)的产品,例如 Pusher 或 PubNub,通常使用它们自己的专有协议。Pusher 已经公开了它们研发的基于 JSON 协议的详细规范[12],并且鼓励第三方或社区帮助构建不同语言的客户端。Pubnub 虽然更封闭一些,但它们目前支持一系列其它开放协议进行交互,如 MQTT。

---------------------

版权声明:本文为CSDN博主「garagong」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/gyshun/article/details/83036987

    1. ZeroMQ

ZeroMQ[16] 既是一个协议,也是一套协议实现的组件。提供比 AMQP 更高速同时去中心化的替代方案。

    1. 4、DataSync

DataSync 是实现实时通信的最新可选方案。

 

DataSync 将数据存储中的数据同步给客户端。客户端对数据的变更都将同步给所有的订阅者。DataSync 隐藏了实时通信类应用中维护数据状态的细节,降低了复杂性,并极大加快了开发速度,但它目前仍然是一种没有开放的协议标准。

 

 

 

目前 DataSync 已可以在几个 PaaS 平台上使用,如 deepstreamHub[18],Firebase[19] 或 Realm[20]

 

    1. Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议
  1. 选择二进制还是基于文本?

到目前为止,我们已经讲了两个协议:一个二进制、另一个基于文本。让我们快速比较一下差异:

 

通过控制线缆中光或电的打开或关闭(逻辑开关),或控制 WiFi 信号的波峰或波谷来实现计算机之间的信息交换。从原理上来说,这是基于二进制的形式。因此,从这个层面来说所有协议都是二进制协议。

 

信息一旦发送,接收方有两个选择:它可以将 0/1 流分组成字节序列,进而获取(解析)信息;或者可以执行额外的步骤,将其转换为文本,然后再解析此文本。

 

前一种方法称为(基于)二进制的。它节省了一些昂贵的操作,同时是传输任何非文本信息的标准形式。例如,图像,音频,视频或文件。当然它也可用于发送文本信息。例如,通过向每个消息增加几个字节来表达元信息,比如描述该消息的长度或类型,这样就只需将实际的消息数据转换为文本。

 

然而,由于在许多发布-订阅式的架构中,信息交换是基于文本的,所以许多协议选择简单地将整个信息转化为文本,从而降低复杂性并提高了可读性,当然带来的代价就是需要再消息接受后执行额外的计算任务。

---------------------

 

 

(9+条消息)选择你的消息协议 AMQP, MQTT,STOMP - 持之以恒! - CSDN博客.html

(9+条消息)深入理解AMQP协议 - My Blogs - CSDN博客.html

(9+条消息)消息协议(MQTT、AMQP、XMPP、WAMP、STOMP)之间的区别和应用 - 艺术架构 - CSDN博客.html

posted @ 2019-08-13 20:31  attilaxAti  阅读(104)  评论(0编辑  收藏  举报