【问题标题】:Why would I use Apache ServiceMix over just ActiveMQ为什么我会使用 Apache ServiceMix 而不是 ActiveMQ
【发布时间】:2011-07-23 06:39:35
【问题描述】:

我开始计划一个新平台,它需要集成来自各种外部平台的各种服务。本质上,我将一堆内部的、本土的服务和我们从第三方获得许可的几个外部服务捆绑在一起。

一般来说,外部服务都是 Web 服务,但它们是 REST、SOAP 和 XML-RPC 的混合体。 我们的一些内部服务有 REST API,但有很多事情并不那么容易:XMPP、Hessian、自定义套接字协议、Java RPC、uWSGI,不胜枚举。

从我的研究看来,像 Apache ServiceMix 这样的 ESB 可能非常适合我的需求。然而它看起来真的很复杂。我不会发射火箭,但我确实需要事务性消息(主要用于电子商务和权利的东西)。我觉得 ServiceMix 在后台使用的消息队列 (ActiveMQ) 本身可能就足够了。

谁能解释一下 ServiceMix 在 ActiveMQ 之外提供什么?我知道有很多东西,但是当我沉迷于流行语时,像我这样的 ESB n00b 很难真正掌握有形的区别。

谢谢!

【问题讨论】:

    标签: activemq esb apache-servicemix


    【解决方案1】:

    ServiceMix 是一个基于 OSGi 的容器,它允许您在受控的运行时环境中部署和运行应用程序(类似于 J2EE 容器,但重量较轻,并且无需针对 J2EE 合约等进行编程)。 多亏了 OSGi,您可以将您的应用程序划分为多个部分,并相互独立地更新/发展这些部分。您可以升级部分应用程序,而无需关闭整个应用程序。与使用独立 Java 进程相比,OSGi 中的生命周期管理要好得多。

    如果您想创建一个会随着时间而发展的应用程序,那么您应该考虑使用 OSGi。 ServiceMix 为您提供了一个运行时 OSGi 容器来部署您的应用程序。我强烈推荐 Manning 的《OSGi in Action》一书。

    为了将甚至可能使用不同传输协议的不同外部服务捆绑在一起,我推荐使用 Apache Camel,顺便说一下,它也可以很好地部署到 ServiceMix 中。

    顺便说一句,现有应用程序可以轻松部署到 OSGi 容器中(无需更改代码)。

    托斯滕·米尔克 保险丝源 网址:www.fusesource.com 博客:http://tmielke.blogspot.com

    【讨论】:

      猜你喜欢
      • 2019-05-24
      • 2012-06-09
      • 2011-05-01
      • 2016-01-18
      • 2012-07-11
      • 1970-01-01
      • 2011-02-03
      • 2013-12-07
      • 2014-08-25
      相关资源
      最近更新 更多