2011-09-06 86 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工作。

相關問題