activemq 实际应用_访谈和书摘:ActiveMQ的实际应用

activemq 实际应用

由Bruce Snyder,Dejan Bosanac和Rob Davies撰写的《 ActiveMQ in Action》一书涵盖了ActiveMQ(一种面向消息的开源中间件)的功能和使用。 本书的第一部分介绍ActiveMQ,面向消息的中间件和Java消息服务(JMS)。 在简要介绍了整本书中使用的示例之后,第二部分介绍了如何配置标准ActiveMQ组件,包括传输连接器,持久消息存储和各种安全级别。 第三部分更深入地探讨了这些主题,包括使用ActiveMQ创建Java应用程序,如何将ActiveMQ与包括Tomcat,Jetty,Geronimo和JBoss在内的应用程序服务器集成,以及使用C ++ 、. NET,PHP,Python,Ruby和更多。 第四部分包括更高级的主题,包括高可用性和可伸缩性,更高级的代理和客户端功能,性能调整,管理和监视。

InfoQ与该书的合著者Bruce Snyder进行了交谈,谈到了编写该书的主要动机,ActiveMQ容器中的事务管理和消息传递安全方面以及消息传递领域的新兴趋势。 我们还将为读者提供本书的摘录(第7章“使用ActiveMQ创建Java应用程序”中的使用Spring编写JMS客户端 )。 当使用折扣代码infoq40时,书本价格还可享受40%的折扣。

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

Bruce Snyder:在ActiveMQ提交者社区内部,有很多有关消息队列,ActiveMQ和JMS的知识。 尽管其中一些信息可以从ActiveMQ网站上获得,但是它的组织性很差,而且常常达不到许多用户所需的详细程度。 因此,我们认为将我们的知识和思想整理成一本书是一个好主意。

InfoQ:异步消息传递体系结构的当前状态是什么?ActiveMQ与其他消息代理(开源和商业的)相比如何?

布鲁斯(Bruce):近年来,STOMP协议的引入对异步消息传递领域产生了重大影响。 STOMP是流文本定向消息协议的首字母缩写。 它不仅在Java社区中得到了众多消息传递解决方案和客户端API的支持 ,而且远远超出了其他范围。 STOMP协议的重点是开发一种可互操作的纯文本有线格式,以允许以任何语言编写的STOMP客户端与以任何语言编写的STOMP消息代理进行通信。 与HTTP相似,STOMP协议为客户端提供了一组动词或命令以与消息代理进行交互。 而且,高级消息队列协议(AMQP)规范已经日趋成熟并开始产生更大的影响。 AMQP规范旨在创建一种标准化的消息传递有线协议,就像HTTP传递Web内容一样普遍。 而且,JMS 2.0 JSR刚刚形成。 JMS 1.0于1998年发布,2002年进行了小幅更新,因此,有趣的是,将提出和讨论哪些建议。

InfoQ:您能谈谈使用ActiveMQ时消息传递体系结构的安全性吗?

布鲁斯: ActiveMQ允许在代理级别,目标级别和消息级别进行安全保护。 为了实现代理级别的安全性,将使用身份验证,并且ActiveMQ提供两种身份验证:简单身份验证或基于JAAS的可插入身份验证。 对于简单身份验证,ActiveMQ提供了一种利用XML配置文件中通过配置的普通用户和组来确定访问权限的实现。 对于基于JAAS的身份验证,ActiveMQ提供了一个JAAS登录模块,该模块可以利用属性文件,LDAP或SSL证书,或者您可以实现自己的JAAS登录模块。 为了管理目标的安全性,需要考虑三种操作类型:读取,写入和管理。 ActiveMQ通过提供的JAAS登录模块使用授权管理这三个操作。 消息级别的安全性是一个非常特定于应用程序的问题,其中只能访问目标上的某些消息。 为了达到此安全级别,您必须实现自己的自定义消息授权策略。 关于此安全级别要记住的一点是,必须将其应用于目标上的每条消息。 因此,您需要注意不要使授权过于昂贵。

InfoQ:ActiveMQ提供什么样的事务管理支持,特别是对于需要两阶段(XA)事务的用例?

布鲁斯: ActiveMQ支持JTA和基本XA。 但是我不太喜欢分布式事务,因为它们会导致易碎的应用程序并降低性能。 任何对此主题感兴趣的人都应该阅读Pat Helland撰写的出色论文,主题是“分布式交易之外的生活:叛教者的观点”

InfoQ:您希望在JMS 2.0和JMS规范的未来版本中看到哪些新功能?

Bruce:我希望看到对JMS进行的一些更新,以更好地与Web和其他标准(例如Web套接字和AMQP)进行交互。 ActiveMQ当然具有超越JMS规范的许多创新,但是我不确定这些创新是否包含在JMS中。

InfoQ:消息传递领域出现了哪些新兴趋势,技术和工具?

Bruce:如今,IT中发生了太多的集成,以至于企业集成模式在过去几年中已Swift普及。 这是一个令人兴奋的领域,两个广泛使用的Java集成框架(Spring Integration和Apache Camel)正在解决这个问题。 此外,现在有很多人正在发现异步消息传递和事件驱动的体系结构(EDA)。 有一些非常大型,非常知名的系统是使用EDA作为中央主体构建的,其中包括Amazon,Twitter和Facebook,仅举几例,甚至VMware的CloudFoundry都是使用EDA构建的。

InfoQ:谢谢您的宝贵时间,布鲁斯。 最后一个问题,您最喜欢的IT和非IT书籍是什么?

布鲁斯:我倾向于阅读很多书,而且我喜欢涉及商业,IT,小说,宗教,经典之类的各种主题的书籍。多年来,我读过的最引人注目的书籍是《 三杯茶》 (以及后续书籍《向学校扔石头》。 这些书讲述了美国格雷格·莫滕森(Greg Mortenson)的故事,以及他在阿富汗和巴基斯坦偏远地区建立学校的努力。 我什至很幸运地看到莫滕森去年在科罗拉多州北部发表了一次演讲。 最近,我读了一本商业手册,叫做Rework 。 这是一本关于商业的短文,避免了许多传统的商业概念。 返工侧重于进步,生产力,竞争,雇用,文化等方面的破坏性构想。 尽管本书中的概念并不是全新的,但其质疑风格引人注目,前卫且发人深省,但扎根于现实。

关于IT书籍,我喜欢并推荐以下三本书:

  • 实践中的Java并发
  • 企业整合模式
  • 活动中的事件处理

关于图书作者

Bruce Snyder是企业软件开发和开源软件的资深人士。 拥有超过15年的经验,Bruce使用Java EE,企业消息传递和集成,面向服务的体系结构和事件驱动的体系结构等广泛的技术,在软件研发方面发挥了重要作用。 Bruce是SpringSource / VMware的高级软件工程师,是Apache Software Foundation的成员,并且是许多Apache项目(包括ActiveMQ)的提交者。 他不仅是有关ActiveMQ,Spring Framework,Maven和Geronimo的书籍的出版作者,而且还是全球软件大会上公认的国际演讲者,并且已经帮助建立了围绕开源软件的社区。 布鲁斯和他的家人住在科罗拉多州美丽的博尔德市,在那里他喜欢骑自行车,徒步旅行,跑步和进行任何户外活动。

翻译自: https://www.infoq.com/articles/snyder-activemq-in-action/?topicPageSponsorship=c1246725-b0a7-43a6-9ef9-68102c8d48e1

activemq 实际应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值