文章: 书摘和访谈:ActiveMQ in Action

标签: 文章 书摘 访谈 | 发表时间:2012-02-23 14:00 | 作者:
出处:http://pipes.yahoo.com/pipes/pipe.info?_id=10560380f804c7341f042a2b8a03e117

ActiveMQ in Action》一书由Bruce Snyder、Dejan Bosanac、Rob Davies合著,内容涵盖开源消息中间件ActiveMQ的发展和使用。本书的第一部分介绍了消息中间件ActiveMQ和Java消息服务(JMS)。对本书使用的例子进行了简单说明之后,第二部分介绍了标准ActiveMQ组件的配置,包括传输连接器、持久化的消息存储和各个层次的安全控制。第三部分进行了深入介绍,覆盖的主题有:创建使用ActiveMQ的Java应用,怎么把ActiveMQ和Tomcat、Jetty、Geronimo、JBoss等应用服务器集成在一起,还有用C++、.Net、PHP、Python、Ruby等语言开发使用消息的应用。第四部分包括更多高级主题,比如高可用性和伸缩性、Broker和客户端更高级的特性、性能调优、管理和监控。

InfoQ对本书的合著者Bruce Snyder进行了采访,向他了解编写这本书的主要动机、ActiveMQ容器里的事务管理和消息安全,还有消息服务领域的发展趋势。我们还制作了本书的书摘以飨读者,内容来自第七章——创建使用ActiveMQ的Java应用——的 “用Spring编写JMS客户端”部分。在购买本书的时候,你还可以用折扣码infoq40来享受40%的折扣。

InfoQ:编写这本书的主要动机是什么?

Bruce Snyder:在ActiveMQ提交者社区里,消息队列、ActiveMQ和JMS的相关知识是很多的。虽然ActiveMQ网站上有一些可用的信息,但它们组织得不是很好,而且对很多用户来说并不算详细。所以我们决定把我们的知识和想法整理成一本书。

InfoQ:异步消息服务架构现在处于什么状态?ActiveMQ和其他开源、商用的消息Broker比起来怎么样?

Bruce:近年来,STOMP协议的引入对异步消息服务产生了很大影响。STOMP是Streaming Text Orientated Messaging Protocol的缩写。它由众多消息解决方案和客户端API 支撑,这些支撑不仅仅局限在Java社区内,其他社区也有很多。STOMP协议的关注点是开发一种可互操作的、纯文本的Wire格式,允许任何语言编写的STOMP客户端和任何语言编写的STOMP消息Broker进行通讯。类似于HTTP,STOMP协议为客户端提供了一组动词和命令,以便和消息Broker进行交互。此外,Advanced Message Queuing Protocol(AMQP)规范也已经成熟,影响力也越来越大了。AMQP规范旨在为消息服务创建一个标准化的Wire级别协议,让它像传输Web内容所需的HTTP一样无所不在。JMS 2.0的JSR刚开始组织。JMS 1.0发布于1998年,只在2002年做了一次小的更新,所以关注JMS 2.0里提出和讨论的建议应该会很有意思。

InfoQ:你能谈谈在使用ActiveMQ的时候,消息服务架构里安全方面的内容么?

Bruce:ActiveMQ可以在Broker级别、目的地级别和消息级别进行安全控制。ActiveMQ在Broker级别使用认证来进行安全控制,ActiveMQ提供的认证方式有两种:简单认证和基于JAAS的可插拔式认证。对于简单认证,ActiveMQ利用XML配置文件里配置的普通用户和组来决定是否允许用户访问。至于基于JAAS的认证,ActiveMQ提供了一个可以利用属性文件、LDAP或SSL证书的JAAS登录模块,你也可以实现自己的JAAS登录模块。目的地级别需要进行安全处理的相关操作有read、write、admin三个。ActiveMQ通过JAAS登录模块提供的认证功能来处理这三个操作。消息级别的安全性是应用特定的,只有某个目的地上的特定消息才能被访问。为了达到这个级别的安全性,你必须实现自己的消息授权策略。在这个级别进行安全控制需要记住的是,某个目的地上的所有消息都必须应用自定义的消息授权策略。所以你需要留意一下,不要让授权的成本过于高昂。

InfoQ:ActiveMQ提供哪种类型的事务管理支持呢?尤其对需要两阶段(XA)事务的用例来说。

Bruce:ActiveMQ支持JTA和基本的XA。但我不是很喜欢分布式事务,因为使用XA的应用往往比较脆弱,而且性能低下。对这个话题感兴趣的读者们可以看看Pat Helland关于此方面的文章—— Life beyond Distributed Transactions: an Apostate's Opinion

InfoQ:你希望JMS 2.0和JMS规范以后的版本能提供哪些新特性呢?

Bruce:我希望JMS能与Web、其他标准(比如Web Socket和AMQP)更好地交互。除了JMS规范的内容,ActiveMQ当然还有很多创新,但我不确定这些创新会不会被纳入到JMS里去。

InfoQ:在消息服务领域里,会有怎样的发展趋势和技术、工具呢?

Bruce:近年来,IT领域里的整合工作有很多,企业集成模式已经越来越流行,而且大大超过过去几年。Spring集成和Apache Camel这两个被广泛运用的Java集成框架已经能满足这一领域的需求了。此外,还有很多人现在正在研究异步消息传输和事件驱动架构(EDA)。现在有一些非常大型、非常有名的系统都把EDA作为中心架构,这里仅列举出Amazon、Twitter和Facebook,VMware的CloudFoundry也是使用EDA构建的。

InfoQ:Bruce,谢谢你能参加我们的采访。最后一个问题,你喜欢的IT类和非IT类书籍有哪些?

Bruce:我经常读书,喜欢的书籍种类也比较繁多,包括商业、IT、小说、宗教、经典读物等等。 《三杯茶》 是多年来最吸引我的一本书,还有《三杯茶2:石头变学校》。这两本书讲述了美国人Greg Mortenson在阿富汗和巴基斯坦的偏远地区苦心建设多所学校的故事。去年在科罗拉多州北部,我还很幸运地听了Mortenson的一场讲座。最近,商业书籍 《重来》让我欲罢不能。这本书是个有关商业的短文集,里面的内容不同于很多传统的商业观念。《重来》重点关注进步、生产率、竞争、雇佣、文化等领域方面的一些颠覆性想法。尽管书里的有些概念并不是全新的,提问的风格却吸引人、犀利、发人深省、切切实实。

至于我读过的IT书籍,我喜欢并推荐的有三本:

  • Java并发编程实践
  • 企业集成模式
  • 事件处理实战

关于本书作者

Bruce Snyder在企业软件开发和开源软件方面经验老到。Bruce有着超过十五年的经验,一直致力于软件的研究和发展,使用过的技术有Java EE、企业消息传递和集成、面向服务的架构和事件驱动。Bruce是SpringSource/VMware的一名高级软件工程师、Apache软件基金会的成员,并参与了很多Apache项目的开发,包括ActiveMQ在内。他不仅参与编写过有关ActiveMQ、Spring框架、Maven和Geronimo的书籍,还是诸多国际软件会议公认的讲师,在开源软件社区的建立过程中也出力不少。Bruce和他的家人生活在美丽的科罗拉多州博尔德市,平时喜欢骑行、登山、跑步等各种户外活动。

查看英文原文: Interview and Book Excerpt: ActiveMQ in Action


给InfoQ中文站投稿或者参与内容翻译工作,请邮件至 [email protected]。也欢迎大家通过新浪微博( @InfoQ)或者腾讯微博( @InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

相关 [文章 书摘 访谈] 推荐:

文章: 书摘和访谈:ActiveMQ in Action

- - InfoQ cn
《 ActiveMQ in Action》一书由Bruce Snyder、Dejan Bosanac、Rob Davies合著,内容涵盖开源消息中间件ActiveMQ的发展和使用. 本书的第一部分介绍了消息中间件ActiveMQ和Java消息服务(JMS). 对本书使用的例子进行了简单说明之后,第二部分介绍了标准ActiveMQ组件的配置,包括传输连接器、持久化的消息存储和各个层次的安全控制.

文章: 应用的未来——面孔、豌豆荚、HTML5小组专家访谈

- - InfoQ cn
为了让大家能够了解到不同平台的产品特质以及现状和发展趋势,我们特别邀请到移动App平台的 @面孔网杨锴、PC平台的 @豌豆实验室张涛和姜楠以及 @HTML5研究小组的黄蔚瀚,他们将分别以各自独特的视角,来审视和解读未来时代的Apps. 百度开发者大会:Web App设计、移动互联网应用、个性化推荐、敏捷(3月23日 免费报名中.

51CTO的访谈

- - 四火的唠叨
文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》. 这篇51CTO对我的访谈是关于找工作过程相关的体会,文章有过整理改动. 无论从年纪还是从资历来说,其实我并不能算是一个很有资格的受访者. 当然,我还是希望可以帮到那些软件行业涉足未深和忙于找工作的朋友. 邮件对话最终整理成51CTO的 这篇文章.

文章: HTML5之美

- - InfoQ cn
如今大热的HTML5到底美在哪里. HTML5到底能为实际的移动开发带来哪些改变. 来自阿里云云手机服务运营部的前端开发工程师 正邪 (廖健)分享了他眼中的HTML5之美,主要讲诉HTML5的常见原理并从CSS、JavaScript和框架三个方面做了细致讲解:. 白伟民:酷狗音乐的HTML5实践(百度开发者大会广州站 5月31日 免费报名).

ifanr 访谈:谁在《失控》?

- IwfWcf - 爱范儿 · Beats of Bits
Twitter 之父 Jack Dorsey 曾经说过:“追求细节的完美,但是,控制细节的数量”. 今天 iPhone 上的 Apps 虽多,真正做到这点的,却非常有限. 唐茶版《失控》,似乎可以算最新的例子. 我代表 ifanr 采访了唐茶计划总监李如一. 为大家带来《失控》背后的人和故事. ifanr : 你在广泛的领域做过事情:媒体,艺术,语言⋯⋯做了这么多看起来都很有趣的事情后,为什么会选择做电子书.

AWK之父访谈录

- Eastar Lee - 牛博山寨 编辑推荐
计算机科学家、编译器专家Alfred V. Aho一直紧盯计算机科学研究前沿. Aho教授一直致力于编程语言开发,曾任贝尔实验室计算机科学研究中心副主任,现为哥伦比亚大学Lawrence Gussman 计算机科学系教授. Aho教授不仅是“龙书”系列的作者之一,而且在上世纪70年代同Brain Kernighan 和Peter Weinberger一起开发了模式匹配语言AWK.

Google CEO Larry Page访谈录

- - 36氪 | 关注互联网创业
编者注:Google CEO Larry Page刚刚接受了财富杂志的专访. 这是他自2011年担任CEO以来第二次接受平面媒体如此规模的长篇专访. 在媒体面前腼腆的他此次侃侃而谈,所涉及的话题十分广泛,讨论到了移动计算、搜索的发展,Google的未来,与苹果的关系、对摩托罗拉的整合,以及对管理的认识等话题,我们编译如下供大家参考.

聊聊用户访谈

- - 打不死的小强
我觉得靠用户访谈想要得到什么结论是比较难的,原因很多:. 你能采访到的用户都是活跃用户,而大部分沉默用户才是用户的主流,以偏概全是有问题的. 用户会撒谎,他说这个东西卖太贵了,是为了让你降价. 当用户还没有体验过一个东西的时候,他是无法确定自己想要什么的. 所以我觉得访谈最主要的目的是去了解玩家是怎么思考的.

访谈系列:Hadley Wickham

- - 统计之都
Hadley Wickham 是 RStudio 的首席科学家以及 Rice University 统计系的助理教授. ggplot2 的开发者,以及其他许多被广泛使用的软件包的作者,代表作品如. plyr、 reshape2 等. 2013年9月13日小编(Yixuan)对他(Hadley)进行了一次简短的采访,谈及了他在图形可视化、数据整理和R编程等诸多方面的工作.