2011-09-06 82 views
1

我正在开发一个应用程序,它将以异步方式向多个服务提供者发送请求,整理响应并将结果显示给用户。Apache ServiceMix是一个可能的解决方案吗?速度够快吗?

我打算创建一个组件来处理每个服务提供者。该组件将松散耦合,因此应该很容易添加或删除服务提供商。

enter image description here

组件将来自网页层和处理接收到的请求

  1. 过程它把它在由役提供所需的格式转换。
  2. 将请求发送给服务提供商
  3. 处理从服务提供商收到的响应,将其转换为我们的应用程序所需的格式。

我们可以在这里使用Apache Service Mix吗?在5秒内处理请求 - 响应周期是否足够快(假设服务提供商在不到一秒内发送响应)。

OR

我们可以使用任何其他ESB和ESB是的足够快,以满足我们的要求?

在此先感谢。

Shardul。

+0

谢谢大家的回答。我需要某个时间来评估选项。再次感谢。 –

回答

6

Servicemix应该能够处理这个问题。主要问题是,如果你甚至需要servicemix。

如果您希望组件在OSGi上运行,那么您可以使用servicemix或karaf + camel(这与servicemix light相似)。

要在web前端和组件之间进行通信,我会使用jms并实现我建议使用camel + pojos的组件。

如果您需要更多帮助,请随时与我联系。看来你在IRC上找到了我:-) 用户名:cschneide或cschneider

+0

谢谢你的回答。 OSGi,ServiceMix,骆驼,卡拉夫对我来说都是新手。由于项目需求,我开始探索这些。我不想同时处理太多新事物。考虑到我的问题在于我应该能够开发组件(或称服务提供商处理程序),而不必在请求来自何处。我发现请求也可能来自移动应用。我会开始寻找骆驼并回答更多问题。再次感谢。 –

+0

Btw。我在博客上添加了一个关于在OSGi上运行骆驼集成的教程:http://www.liquid-reality.de/x/G4Bk –

-1

WSO2 ESB是另一种很酷的选择。 WSO2 ESB基于基于OSGI的WSO2 Carbon平台 及其100%免费和开放源代码,并提供number of samples,您可以尝试开箱即用。此外,WSO2不仅仅是一个ESB,而是一个comprehensive SOA platform,我们拥有ESB,身份服务器,数据服务服务器,业务流程服务器等,可以在基于OSGi的碳平台上运行。试一试。

1

在FuseESB 4.2版本上,我在具有2GB RAM的DualCore笔记本电脑上每秒钟拨打了15,000个电话。这些调用是由ServiceMix公开的CXF服务进行的。在内部,调用了OSGi注入的一个Spring bean,它只是返回随机数据。并且ServiceMix可以被群集。所以我认为它作为一个Java容器足够快。

3

关于速度:在整合项目中,消息传递/处理基础设施本身很少成为瓶颈,而是与外部服务的接触点。

因此,唯一的答案是:“ServiceMix速度足够快”,因为您的场景是“是”,因为大部分时间都将用于与您的服务提供商进行交互(即等待网络响应),而不是SM自己的消息处理代码。

0

关于“足够快?”事实上,您可以查看http://esbperformance.org以了解8个开源ESB的性能比较。虽然现在大多数ESB的表现非常好,但是UltraESB被认为是性能最好的ESB。

看看您的需求,它是任何ESB的典型用例。您需要使用过滤和转换功能来实现此功能。

过滤器将根据消息内容或属性(如传入的URL等)决定要调用哪个流并转发到所需的流。每个流程都需要通过所需的转换逻辑来调用服务提供者。以同样的方式,后退响应将被分派到正确的流程来进行逆向变换。

声明:我为支持UltraESB的公司AdroitLogic工作。

相关问题