写点什么

高级消息队列协议将使消息服务平价化

  • 2007-03-12
  • 本文字数:1803 字

    阅读完需:约 6 分钟

新组成的 AMQP 工作组于 2006 年 1 月 20 日发布了高级消息队列协议( AMQP 规范 0.8 ),该工作组由 JP Morgan Chase、RedHat、Twist、IONA、Cisco 以及其它单位组成。AMQP 是一个基于消息队列的开放协议,设计时考虑了性能和可交互性;它为基于队列的消息机制定义了一个协议和模型。AMQP 协议的目标是是普及消息中间件并跨越不同技术 stack,在各种语言或者各种操作系统之间提供真正的可交互性。重载(over)了 AMQ 的 JMS API 能够很容易地与.Net 客户端以及任何其它语言或其它借助 AMQP 通讯的平台进行交互。

AMQP 在 wire-level 格式上分为两层;一个功能层和一个传输层。功能层定义了可用于支持事务存储的命令,发布 / 订阅模式以及批处理文件传输的消息风格。传输层覆盖了有线通讯(wire communication),“通道多路技术(channel multiplexing),framing,内容编码,heart-beating,数据表现以及错误处理”。传输层和功能层也是可插拔的,可以让协议将来容易进化。AMQP 就像 HTTP 那样的消息中间件(AMQP is like the messaging middleware equivalent to HTTP),它比 HTTP 更适合处理异步的互操作消息。作为一个协议,AMQP 不打算指定绑定某个特定技术的 API,但是任一类似 API(例如 Java 的 JMS)能通过 AMQP 发送消息。JMS 可以成为一个 AMQP 服务器,就像 JavaMail 可以作为一个 SMTP 服务器一样。

JPMorgan Chase 的副总裁(VP),杰出工程师和高级架构师 John O’Hara 是 AMQP 之父。在最终向外部亮出这个想法之前,John 已经为此花了将近一年的工作时间。AMQ 现在有了投资银行(Investment Bank)的支持,并有一个实现目前运行在其生产环境中了。O’Hara 告诉 InfoQ,JPMC 已经在一个分布在 5 个公司及数据中心、有着 800 名用户的全球商业系统中得到实际运用。“我们有许多公司的多个实现,有使用 Java、C++、C#的,有运行在 Windows、Linux 和 Solaris 上的。”

至于 AMQP 的需求,O’Hara 解释道:“无论何时,商业伙伴们聚在一块进行商业交易,他们知道他们打算使用的信息模型(例如标准化的 FPML),但是他们没有一个传送器(transport)可用于彼此发送这些信息模型……如果有一个标准的传送器(transport)能提供高质量的服务并满足商业事务消息方面的语义要求,就能跨越互联网填补此鸿沟。AMQ 没有提供一个工具包用于数据传输,它提供了一套可用于组织之间及内部的可靠的事件机制(eventing)、商业事务和文件传输协议。”AMQP 还是一个互操作规范,它有助于集成相关的业务,“我们期望它能通过互联网为那些商业伙伴提供信息交流”。

InfoQ 还与 John Davies 进行了对话,他是 AMQ 工作组的成员,现在是 C24 的 CTO。

“只是为了在其内部发送消息,银行就为此花费了大笔金钱。”Davies 说,“AMQ 能让消息服务相关产业平价化,就像 Apache 使得 Web 服务器平民化那样。”消息服务中间件还没有平价化,根据 Davies 的估计,超过 90% 的份额由 IBM 和 Tibco RV 把持,一小部分由 Sonic 占有,剩下的份额由大约 30 家产品瓜分,多数是基于 JMS 的。就像现在没有谁试图销售 web 服务器一样,未来,AMQ 将使得消息服务产业平价化。AMQ 规范将使得任何人自由使用开源的、商业的甚至是协议由硬件实现的,这将有助于该规范的繁荣发展。RedHat 当前已经在 AMQ 的一个实现上工作了,它将被集成到(build into)操作系统中,这使得 AMQ 能够像 SendMail 一样自由的使用和获得,它也能被其他 API(例如 JMS)访问。

2006 年 1 月 20 日,一个包括了 JPMC、RedHat、TWIST、IONA、Cisco 及其它单位的工作组发布了 AMQP。IBM、Sonic 和 Tibco 已经意识到了它的存在,它们私下里审视了 AMQP 所做的工作。目前还没有人发布 AMQP 的实现,但是 JMS,C/C++ 版的实现工作已经在进行中了。John Davies 是 C24 的 CTO,他还做过和 SWIFT、FpML、TWIST、TRAX2 和其它金融服务相关的基于 AMQ 传送器的工作,这些实现很快就会完成了。据说 AMQP 规范将在 18 个月内达到 1.0 版。在达到 1.0 之前工作组将用更多的时间进行反馈和测试工作。AMQP 被分配了 TCP 和 UDP 的 5672 端口,UDP 端口将来将作为多广播(multi-cast)的实现。

展望未来,Davies 认为 AMQP 将很快占领消息中间件市场(messaging market):“JMS 是在 1998 年发布的,在 2003 年的时候成气候,所以我期望 AMQ 能在 2011 年成为市场的王者”。

查看英文原文: Advanced Message Queue Protocol to Commoditize Messaging

2007-03-12 21:261980

评论

发布
暂无评论
发现更多内容

面向服务的架构

力软低代码开发平台

领航全球云经济行业创新,XTransfer入选Bessemer年度报告

XTransfer技术

面试官:请手写一个带取消功能的延迟函数,axios 取消功能的原理是什么

若川

JavaScript 源码 前端 前端开发 axios

从 vue-cli 源码中,我发现了27行读取 json 文件有趣的 npm 包

若川

JavaScript 前端 前端开发 Node web前端开发

动态规划:打家劫舍 ⛄

空城机

算法 5月月更

模块七:作业

本人法海

「架构实战营」

React Echarts 使用教程 - 如何在 React 中加入图表(内附数据看板实战搭建案例)

蒋川

react.js 可视化 eCharts 组件库 图表库

直播预告|来啦!「DevOps+MLOps Meetup」火热报名中!

第四范式开发者社区

人工智能 DevOps 极狐GitLab 特征平台 MLOps

MOVE PROTOCOL全球健康宣言,将健康运动进行到底

小哈区块

Vue团队核心成员开发的39行小工具 install-pkg 安装包,值得一学

若川

JavaScript 源码 前端 前端开发 Node

数据中心进化论:华为带来的三个路标与新可能

脑极体

密码学系列之:ASN.1接口描述语言详解

程序那些事

密码学 程序那些事 5月月更 ASN.1

什么是区块哈希?哈希游戏开发技术原理方案(源码搭建)

开发微hkkf5566

MDM结合ESB数据集成说明

agileai

数据治理 数据集成 企业服务总线 主数据平台 基础数据方案

ZEGO 开发者文档速查|常用视频配置

ZEGO即构

音视频开发 视频配置

从 vue3 和 vite 源码中,我学到了一行代码统一规范团队包管理器的神器

若川

JavaScript 前端 前端开发 Node web前端开发

融云漫话:通信中台

融云 RongCloud

中国20强游戏公司2021年财报分析:业绩大分化时代,开始优胜劣汰

易观分析

游戏公司

最佳实践|从Producer 到 Consumer,如何有效监控 Kafka

阿里巴巴云原生

kafka 阿里云 云原生 Promethues

Vue3 TypeScript 使用教程 - 实战 Vue3 element-plus 开发「待办清单」

蒋川

typescript 低代码 开发工具 Vue 3 Element Plus

华为云&易观分析《互联网出海白皮书2022》:新兴市场成掘金热土

易观分析

华为云 出海

面试官:项目中常用的 .env 文件原理是什么?如何实现?

若川

JavaScript 前端 Node

200多家ISV入驻!阿里云计算巢发布一周年

阿里云弹性计算

计算巢

报名进入尾声,赶快申请加入 sealer 开源之夏吧!

阿里巴巴云原生

阿里云 开源 Kubernetes 云原生 sealer

Hadoop3.0时代,怎么能不懂EC纠删码技术?

个推

大数据 hadoop hadoop3 大数据 开源

什么是智能合约?3M互助dapp系统开发逻辑拆解

开发微hkkf5566

得物Tech Leader对管理授权的思考是什么?/得物技术管理集锦

得物技术

管理 思考 技术管理 事前授权 任务分配

leetcode 81. Search in Rotated Sorted Array II 搜索旋转排序数组 II(中等)

okokabcd

LeetCode 查找

MOVE PROTOCOL全球健康宣言,将健康运动进行到底

西柚子

网易数帆 Envoy Gateway 实践之旅:坚守 6 年,峥嵘渐显

网易数帆

云原生 Service Mesh istio api 网关 envoy

开讲!XTransfer技术专家亮相Flink CDC Meetup

XTransfer技术

flink XTransfer

高级消息队列协议将使消息服务平价化_Java_Floyd Marinescu_InfoQ精选文章