ActiveMQ的使用技巧(上)

日期: 2011-02-17 作者:Colleen Frye翻译:杨华军 来源:TechTarget中国 英文

Jeff Genender是从事咨询、培训并提供开源解决方案的Savoir技术有限公司的CTO兼首席架构师。作为开源的布道者,他在多个行业拥有超过20年的软件架构、团队领导以及开发经验。他将在今年三月举行的Java讨论会上进行架构经验主旨演讲,讨论ActiveMQ。   对于那些不熟悉ActiveMQ的人来说,将会有何惊喜之处?   Jeff Genender:它的能力。

它的横向和纵向可伸缩能力;它可以与网络集群一起工作(的能力)。它是市面上最快的JMS容器之一。也是最流行的JMS容器之一,其中一个原因就是因为它是免费的。我们遇到过许多大公司都从更大(商业化)的JMS实现方案迁移至此(Acti……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

Jeff Genender是从事咨询、培训并提供开源解决方案的Savoir技术有限公司的CTO兼首席架构师。作为开源的布道者,他在多个行业拥有超过20年的软件架构、团队领导以及开发经验。他将在今年三月举行的Java讨论会上进行架构经验主旨演讲,讨论ActiveMQ。

  对于那些不熟悉ActiveMQ的人来说,将会有何惊喜之处?

  Jeff Genender:它的能力。它的横向和纵向可伸缩能力;它可以与网络集群一起工作(的能力)。它是市面上最快的JMS容器之一。也是最流行的JMS容器之一,其中一个原因就是因为它是免费的。我们遇到过许多大公司都从更大(商业化)的JMS实现方案迁移至此(ActiveMQ),这不仅仅是由于它的能力,还因为它相对于普通的JMS实现之所能为来说,有着许多与众不同的过人之处,而且还很快速。它是开源软件,却比许多商业软件都更为出色,这一事实令人着迷。

  关于ActiveMQ,你在TheServerSide Java讨论会上演讲将要提及的最典型问题是什么?

  Genender:最常见的问题是该容器似乎运行不畅,需要重启它。人们试图优化内存及JVM参数,但通常无法解决问题。这是其中一个最大的问题领域——人们并不认为ActiveMQ是稳定的,他们将不得不重启之。实际上队列的问题也一样,为什么有时候队列会阻塞,无法再写东西进去呢?我们将讨论如何解决这个问题。问题解决肯定要调整参数。我们将讨论如何在MQ配置文件上设置ActiveMQ以及进行内存配置。

  另一个常见的问题是架构,以便他们能在恰当利用ActiveMQ上得到一些指引。当它实际上是一个事件引擎的时候,你不希望把它当做一个消息仓储,因此(我们会讨论)如何正确地设置生产者和消费者,以便能得到一个贯穿系统的恰当的流。在进入开发流程的时候,有一些架构性的事情是大家需要考虑的。

  有多少问题是架构性问题?有多少是调优方面问题?

  Genender:大概有25%的架构性问题。这似乎是一个更大的问题,因为它必须处理生产者生产速度有多快、消费者的消费速度有多快这些问题,还有你是否使用池化技术也是需要关心的。你会碰到许多这样的问题,现在他们被告知自己需要改变结构。我们将讨论碰到这些情况该如何处理,如何去缓解此类事情。

  问题不在于彻底了解容器或者理解JMS究竟是什么东西。许多家伙会把它当做消息存储或数据库而不是作为事件引擎。这是其中一个最大的领域。你不想把自己的消息放在那里。我们将以一个架构为例说明如何缓解这个问题。

  对于你将要讨论的事情,尤其是对于高负载系统,你有什么实施方面的提示吗?

  Genender:对于可伸缩性,可利用网络代理(network brokers),还有为了实现高可用性,可实施主备切换。在生产中,我们的许多客户都会使用一个代理网络来支撑高负荷,并几乎总会采用主-从的模式来提供高可用性。

  你的演讲主题将会是什么?

  Genender:引出并有能力实现ActiveMQ,对于它能够伸缩自如、运转良好要有高度的信心,相信不需要叫专家来也可自行调试,指出其中问题的所在。

  本文是对Jeff Genender采访的上半部分。在下半部中,他将讨论SOA基础设施,尤其是ESB。

相关推荐