写点什么

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

  • 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:261741

评论

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

Web3.0时代来了,看天翼云存储资源盘活系统如何赋能新基建(上)

天翼云开发者社区

区块链 Web

CRM 全栈开发工具 WebClient UI Workbench 的设计细节介绍

汪子熙

CRM webUI SAP 全栈开发 6月月更

讲师征集令 | Apache DolphinScheduler Meetup分享嘉宾,期待你的议题和声音!

白鲸开源

Apache 大数据 开源 workflow dolpinsheduler

3. Caller 服务调用 - dapr

MASA技术团队

C# .net 框架 Framework dapr

OpenHarmony—内核对象事件之源码详解

OpenHarmony开发者

Open Harmony

openGauss内核:SQL解析过程分析

华为云开发者联盟

数据库 sql 后端

中国内地仅四家突围 联想智慧颐和园荣获 “2022年IDC亚太区智慧城市大奖”

科技大数据

当量子计算遇上人工智能

启科量子开发者官方号

人工智能 算力 量子计算

wallys/DR7915-wifi6-MT7915-MT7975-2T2R-support-OpenWRT-802.11AX-supporting-MiniPCIe-Module

wallys-wifi6

代理类型升级,APISIX 支持 Kafka 作为上游

API7.ai 技术团队

kafka 后端 代理 网关 APISIX 网关

CODING DevOps 助力中化信息打造新一代研效平台,驱动“线上中化”新未来

CODING DevOps

持续集成 CODING DevOps 项目协同 合作 中化信息

后端开发—10个小技巧教你保证线程安全

C++后台开发

线程 多线程 后端开发 linux开发 C++开发

征文投稿丨使用轻量应用服务器搭建博客环境

阿里云弹性计算

MySQL nginx 博客 Node 轻量应用服务器

跟着官方文档学 Python 之:解释器和IDE

甜甜的白桃

Python pycharm IDLE 6月月更

浅谈 SAP 软件里的价格折扣设计原理

汪子熙

SAP ERP pricing 企业管理软件 6月月更

等保备案主体是谁?在当地网安进行备案是吗?

行云管家

等保 等级保护 等保备案

Wallys/4×4 MU-MIMO 6GHz QCN9074 Single Band Wireless Module

wallys-wifi6

疫情之下,元宇宙游戏开发设计如何发展?

开源直播系统源码

游戏开发 元宇宙

AI落地的新范式,就“藏”在下一场软件基础设施的重大升级里

九章云极DataCanvas

VPS是干嘛用的?有哪些知名牌子?与云服务器有什么区别?

行云管家

运维 等保备案 VPS

物联网低代码平台常用《组件介绍》

AIRIOT

低代码 物联网 低代码开发平台 低代码平台 低代码,项目开发

使用 Open Connector 进行 HubSpot 和 SAP 系统的集成工作

汪子熙

云原生 系统集成 SAP 6月月更 open-connector

字节跳动数据平台技术揭秘:基于ClickHouse的复杂查询实现与优化

字节跳动数据平台

Clickhouse

有哪些好用的供应商管理系统

优秀

低代码 数字化转型 供应商管理

云上竞技,360°见证速度与激情

天翼云开发者社区

中能融合携手天翼云打造“能源大脑”

天翼云开发者社区

云计算 大数据 安全

叮!Techo Day 腾讯技术开放日如约而至!

CODING DevOps

CODING DevOps Cloud Studio Techo 腾讯技术开放日

大神详解开源 BUFF 增益攻略丨直播讲座

Apache IoTDB

开源 面试 求职 秋招 线上讲座

NFT质押LP流动性挖矿系统开发详情

开发微hkkf5566

使用Karmada实现Helm应用的跨集群部署

华为云开发者联盟

云原生 后端

Geoffrey Hinton:我的五十年深度学习生涯与研究心法

OneFlow

人工智能 机器学习 深度学习

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