BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

OpenCredo宣布为Spring Integration增加AMQP支持

| 作者 Josh Long 关注 5 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2010年3月9日. 估计阅读时间: 4 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

OpenCredo是一家咨询公司,由Jonas Partner和Russ Miles创建,近日发布了一个开源的适配器——可以让Spring Integration应用与AMQP端点协同工作。

Advanced Message Queuing Protocol(AMQP)是个平台中立的规范,描述了面向客户的消息中间件,作为一个线级协议(wire-level,该协议是对以八进制数据流在网络上进行传输的数据格式的描述——译者注),它并没有规定API的实现细节。大家可以将其看作是适合于异步消息的特定协议。任何客户端都可以实现它,包括JMS API。

RabbitMQ是个面向消息的中间件(MOM)产品,使用Erlang开发,因此能够充分利用Erlang语言优秀的线程和多核能力,可以无缝地将单VM上的并发代码转换为跨越多个物理节点的分布式应用。RabbitMQ并没有提供JMS客户端,但却提供了AMQP客户端。RabbitMQ并不是唯一一个考虑到可伸缩性而使用Erlang进行开发的中间件产品,ejbabberd(XMPP远程消息服务器)、CouchDB(文档数据库)以及Amazon的SimpleDB(分布式数据库)都是使用Erlang进行开发的。

虽然JMS是Java客户端与消息中间件进行互联的标准机制,使用也非常广泛,但它却并非是唯一之选。AMQP也为Java用户提供了优秀的消息解决方案。OpenCredo的声明——集成AMQP与Spring Integration框架——阐明了如何通过Spring框架将基于AMQP的消息系统引入到企业当中。

Spring Integration构建在Spring框架之上,提供了面向消息的解决方案,非常类似于ESB;它提供的适配器可以让代码响应外部系统事件,这与EJB中的Message Driven Bean或是Spring中的Message Driven POJO非常像。OpenCredo框架的目标在于为各种不同的本地Java AMQP客户端提供一致的使用方式,同时将其挂接(hook)到Spring Integration总线上。目前,该支持包装了RabbitMQ AMQP Java客户端并通过Spring Integration创建了一个间接层以将逻辑与消息系统进行解耦。重要的是,AMQP是个开放、线级协议,这样一个客户端就能与多个厂商协同工作,而JMS客户端则只能绑定到固定版本的JMS服务器上。

OpenCredo与RabbitMQ CEO Alexis Richardson和RabbitMQ团队通力合作实现了该支持并计划对其进行不断升级。其任务列表中还准备提供对事件驱动(与基于轮询的方式相反)客户端的支持以及为客户端提供声明式的Spring事务管理支持。最近OpenCredo宣布联合Spring Integration以提供对Esper(一个Complex Event Processing方案)的支持。OpenCredo通过与简单、以POJO为中心的Spring Integration的联手合作,为Esper的支持提供了强大的消息与监控能力。

查看英文原文:OpenCredo Announces AMQP Support for Spring Integration

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT