为什么我要使用 Apache ServiceMix 而不是 ActiveMQ

发布于 2024-10-26 21:47:45 字数 469 浏览 7 评论 0原文

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

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

根据我的研究,像 Apache ServiceMix 这样的 ESB 似乎很适合我的需求。然而它看起来真的很复杂。我不会发射火箭,但我确实需要事务消息传递(主要用于电子商务和权利内容)。我觉得 ServiceMix 在底层使用的消息队列 (ActiveMQ) 本身就足够了。

谁能解释一下 ServiceMix 在 ActiveMQ 之上以及之外提供了什么?我知道有很多,但对于像我这样的 ESB n00b 来说,当我沉浸在流行语中时,很难真正掌握有形的区别。

谢谢!

I am starting to plan a new platform which needs to integrate various services from various externals platforms. Essentially I'm tying together a bunch of internal, homegrown services and several outside services we license from 3rd parties.

Generally speaking the external services are all web services but they are a mishmash of REST, SOAP and XML-RPC.
Some of our internal services have REST API's but there are many things that aren't so easy: XMPP, Hessian, custom socket protocols, Java RPC, uWSGI, and the list goes on.

From my research it seems like an ESB like Apache ServiceMix might be a good fit for my needs. However it looks REALLY complex. I'm not launching rockets but I do need transactional messaging (mostly for eCommerce and entitlement stuff). I feel like the message queue ServiceMix uses under the hood (ActiveMQ) might be enough on its own.

Can anyone explain what ServiceMix provides above and beyond ActiveMQ? I know there is a lot but it is hard for an ESB n00b like me to really grasp the tangible difference when I'm waste-deep in buzzwords.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

撩人痒 2024-11-02 21:47:45

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

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

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

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

托斯顿·米尔克
熔断源
网址:www.fusesource.com
博客:http://tmielke.blogspot.com

ServiceMix is an OSGi based container that allows you to deploy and run applications in a controlled runtime environment (like a J2EE container but less heavy weight and without programming to e.g. J2EE contracts).
Thanks to OSGi you can partition your applications into parts and update/evolve these parts independently from each other. You can upgrade parts of your application without having to take down the entire application. There is far better life cycle management in OSGi then you get with standalone Java processes.

If you think of creating an application that will evolve over time, then OSGi is something you should consider. And ServiceMix provides you a runtime OSGi container to deploy your applications to. I highly recommend the book "OSGi in Action" from Manning.

For tying together different external services that might even use different transport protocols I recommend Apache Camel, which btw also deploys nicely into ServiceMix.

Btw, existing applications can be deployed into an OSGi container with fairly little effort (without requiring code changes).

Torsten Mielke
FuseSource
Web: www.fusesource.com
Blog: http://tmielke.blogspot.com

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文