2012-02-06 46 views
1

請求我想使用JMS和ActiveMQ的(或任何好的JMS代理),以使在我的系統的鬆耦合。「近實時」與JMS和鬆耦合架構

在某些情況下,系統的組件需要在另一個組件訪問服務,響應需要「實時」(回答來自例如Web應用程序未來的請求)。

甲方式做請求是使用JMS隊列。你可以放幾個消費者,一個會選擇消息並執行任務。然後將響應發送回請求組件。這很好,它在一定程度上鬆散耦合並且負載平衡。

我的問題是關於性能。這個架構在性能上是否有一些數字?是否有可能實現「近實時」,這意味着JMS隱含的成本應該低於5ms?

謝謝!

回答

1

這取決於很多因素,這是真的很難說。我在我的機器上嘗試過,(如果需要,會告訴你它的細節),做出一個簡單的請求,做一些處理並返回。我現在得到少於5ms的時間。但是這個數字一般不會說,因爲ActiveMQ在我的機器上,連接速度也非常快,因爲它全部在本地主機等等上。

你想要做的就是儘可能地模擬你的未來架構並嘗試那裏。這裏沒有人會肯定或不會說「是」,好吧,因爲這是不可能的。

如果你想「實時」的,那麼爲什麼你會在第一時間引入異步部分?

乾杯,尤金。

+0

我的意思並不是「實時」的,而是SLA可能必須提供Web服務。我不知道是否可以在幾毫秒內做出迴應。那麼我只是想知道在這種情況下它可能是一個可行的解決方案。關於異步方面,它是強制性的,我只是尋找鬆耦合。即我可以在依賴模塊上公開一個REST服務,但在這種情況下,依賴性會變得更高(IMO過高)。 – unludo 2012-02-06 14:23:07

+0

如果我不得不選擇,我會傾向於ActiveMQ而不是Web服務。只是我和它一起玩,工作人員和它一起,並將其投入生產。有多種方法可以對其進行擴展,以進行集羣,更新等,這對於Web服務來說是不可能的。我希望你選擇適合你:) – Eugene 2012-02-06 14:28:58