2012-07-30 271 views
2

Activemq,Redis和Apache駱駝是否合適?Activemq,Redis和Apache駱駝是否合適?

一個高高性能企業級集成解決方案正在計劃進行的跨多個應用程序

我的目標是使溶液 一個。獨立於消費者的表現 b。能夠在發生任何問題時排除故障 c。高可用性和故障轉移支持 d。 Hanlde 10k信息每秒

這裏我打算有 a。 b在所有應用程序服務器中運行的activemq代理網絡,並將所使用的消息存儲在redis數據存儲庫中 b。從redis數據存儲中,應用程序可以通過駱駝端點 (駱駝端點被選擇來在到達應用程序之前處理消息)檢索消息。

也可以ActiveMQ的與只Redis的+ Apache的駱駝刪除,因爲我從Redis的完成大部分的ActiveMQ的東西

討論的形式看到可以在該技術堆棧中的任何一個建議。

回答

0

ActiveMQ和Camel在一起工作得很好,擴展性非常好 - 在適當的硬件下處理負載應該沒問題。

你在想這樣的事嗎?

Message producer App -> ActiveMQ -> Camel -> Redis 

Message Consumer App <- Camel [some endpoint] <- Redis 

之間Puting ActiveMQ的通常是爲了實現HA,負載平衡和使解決方案彈性的一種非常好的方式。取決於您使用機器的具體設置等。ActiveMQ可以通過多種方式幫助解決HA問題。

如果您的應用程序使用除JMS/ActiveMQ消息傳遞之外的其他協議,即HTTP,原始tcp或類似消息,則刪除ActiveMQ可能是一個不錯的選擇。你能詳細說明應用程序將如何與駱駝進行通信嗎?默認情況下,ActiveMQ支持事務處理,保證傳送,並且您可以在服務器上使用有限數量的線程,即使您的流量很大。對於其他協議,這可能有點棘手。在ActiveMQ中沒有HA層(集羣)的情況下,您需要設置Redis以在所有方面處理HA,這可能同樣簡單,但Redis有點內存不足,所以請注意這一點。

+0

Hi Petter, 感謝您對Redis的見解。 其實我想到 消息Prodcer應用程序 - > Redis - >駱駝 - > ActiveMQ 消息應用程序< - Redis < - 駱駝< - ActiveMQ 應用程序是不同的性質,因此想到將Redis接近應用程序,可能減少兼容性問題。 此外,我打算將駝峯功能與ActiveMQ捆綁在一起,而不是與App(感謝ActiveMQ對Camel的嵌入式支持) – srini 2012-07-31 22:14:18