AMQP,即Advanced Message Queuing

Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。

当前各种应用大量使用异步消息模型,并随之产生众多消息中间件产品及协议,标准的不一致使应用与中间件之间的耦合限制产品的选择,并增加维护成本。AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。

AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。

AMQP在消息提供者和客户端的行为进行了强制规定,使得不同卖商之间真正实现了互操作能力。

JMS是早期消息中间件进行标准化的一个尝试,它仅仅是在API级进行了规范,离创建互操作能力还差很远。

与JMS不同,AMQP是一个Wire级的协议,它描述了在网络上传输的数据的格式,以字节为流。因此任何遵守此数据格式的工具,其创建和解释消息,都能与其他兼容工具进行互操作。

AMQP规范的版本:

0-8 是2006年6月发布

0-9 于2006年12月发布

0-9-1 于2008年11月发布

0-10 于2009年下半年发布

1.0 draft (文档还是草案)

AMQP的实现有:

1)OpenAMQ

AMQP的开源实现,用C语言编写,运行于Linux、AIX、Solaris、Windows、OpenVMS。

2)Apache Qpid

Apache的开源项目,支持C++、Ruby、Java、JMS、Python和.NET。

3)Redhat Enterprise MRG

实现了AMQP的最新版本0-10,提供了丰富的特征集,比如完全管理、联合、Active-Active集群,有Web控制台,还有许多企业级特征,客户端支持C++、Ruby、Java、JMS、Python和.NET。

4)RabbitMQ

一个独立的开源实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。RabbitMQ发布在Ubuntu、FreeBSD平台。

5)AMQP Infrastructure

Linux下,包括Broker、管理工具、Agent和客户端。

6)?MQ

一个高性能的消息平台,在分布式消息网络可作为兼容AMQP的Broker节点,绑定了多种语言,包括Python、C、C++、Lisp、Ruby等。

7)Zyre

是一个Broker,实现了RestMS协议和AMQP协议,提供了RESTful HTTP访问网络AMQP的能力。

amqp协议java_AMQP协议介绍相关推荐

  1. amqp协议java_amqp协议链接陷阱-An unexpected connection driver error occured

    前言 amqp是一种通用的消息队列数据传输协议,典型的MQ应用RabbitMQ就实现了amqp协议,所以,我们在使用amqp-client链接rabbitmq时,可以使用amqp的链接协议连接rabb ...

  2. 没有mssqlserver的协议_LoadRunner是什么 LoadRunner协议选择原则介绍【图文】

    LoadRunner对不同协议的选择 以前使用Loadrunner只选择过web(Http/Html),但其实协议多种多样.在B/S结构的网站多种业务的特点需要选择不同的协议,耿电在给我们就介绍了用过 ...

  3. Ouroboros:一个可证明安全的PoS区块链协议 (共识介绍)

    原文作者:Aggelos Kiayias∗ Alexander Russell† Bernardo David‡ Roman Oliynykov§ 摘要 我们向大家展示Ouroboros--第一个基于 ...

  4. Linux远程管理协议相关知识介绍

    一.什么是远程管理 远程管理,实际上就是计算机(服务器)之间通过网络进行数据传输(信息交换)的过程,与浏览器需要 HTTP 协议(超文本传输协议)浏览网页一样,远程管理同样需要远程管理协议的底层支持. ...

  5. http协议编程java_Java与Http协议的详细介绍

    搜索热词 Java与Http协议的详细介绍 引言 http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式.HTTP协议的主要特点是: 1.支持客户/服务器 ...

  6. SIP协议及其简单介绍

    SIP协议及其简单介绍 概述 流程 SIP流程 两台设备建立会话 原理 使用场景 概述 SIP(Session Initiation Protocol,会话初始化协议)是一个应用层协议,用于在互联网上 ...

  7. 对于SOAP协议的全面介绍

    学习了一段时间的网络协议 , 相信大家已经对一些常规的网络协议有所了解了.那么这里我们主要介绍一下SOAP协议的内容.SOAP协议:简单对象访问协议(SOAP:Simple Object Access ...

  8. 【JavaLearn】#(23)JSP相关语法、HTTP协议、Servlet介绍、Servlet生命周期、请求和响应、相对路径、转发和重定向

    1. JSP简单内容 1.1 JavaEE JavaEE 包含JSP JavaEE是一个开发分布式企业级应用的规范和标准.JavaEE包含之前学过的所有内容(JavaSE) 真正开发中,很少使用Jav ...

  9. PPP协议的相关介绍

    PPP协议的配置介绍 ppp协议是一种点到点链路层协议,主要用于在全双工的同异步链路上进行点到点的数据传输. 支持认证.错误检测.错误恢复. ppp组件: NCP–网络控制协议:用于对不同的网络层协议 ...

最新文章

  1. linux7挂载ntfs分区,刚安装centos7,请教大神如何挂载ntfs的分区
  2. while循环的习题
  3. 零基础Java学习之初始化块
  4. python基础之异常处理
  5. php pdo 查询语句,PDO:预处理语句(参数化查询)
  6. hash table(开放寻址法-双重散列实现的哈希表)
  7. php 判断心跳包报错,第29问:MySQL 的复制心跳说它不想跳了
  8. vs2019编译c语言提示有病毒,关于VS2019代码编译的问题(C++)
  9. http和webservice接口区别
  10. 房地产企业的客户细分战略
  11. 使用localstorage及js模版引擎 开发 m站设想
  12. 基于C#语言的程序调用
  13. Unity VSCode + Emmy Lua 插件断点调试Lua脚本
  14. 互联网寒冬,程序员如何逆流而上?
  15. 微云存储空间多大_微云用户容量调整多少了 微云用户容量变小了是吗
  16. Adobe Spark试用手记
  17. 黄铭钧:院长创业与酒
  18. NodeJS简介-node.js是什么?
  19. 如何使用miniconda(小白入门版)
  20. 近视手术能不能做?怎么做?丁香医生告诉你

热门文章

  1. python 数据库编程,这篇是针对 mysql 的,滚雪球学Python第4季第13篇
  2. 【JZOJ1319】邮递员
  3. 网络安全通识全解|第1期 什么是网络安全
  4. 十进制数与IEEE 754 32 位转换实例讲解
  5. 在加入ALL函数后,CALCULATE函数内外筛选器的交互过程
  6. 计算机等级证书需要过塑么,电脑印刷自学考试上机综合测验(附答案)
  7. Mysql中慢查询语句分析
  8. 软著申请步骤[2023]
  9. php 精粹 评论,php精粹 编写高效php代码好不好
  10. 计算机网络学习笔记(三)——数据链路层