JMS或消息傳遞確實很好地捆綁了不同的應用程序,並形成了許多ESB和SOA體系結構的基礎結構。消息傳遞是請求/回覆的良好實現
然而,應用程序A需要來自應用程序B上的服務的即時響應,例如,需要訂單的供應細節或需要立即確認某些更新。從性能的角度來看,Messaging是正確的解決方案嗎?通常,客戶端將連接到隊列上的MoM - 然後,必須有空閒的監聽器纔會接收消息並轉發給服務器端處理器 - 該服務器端處理器將處理響應並將其發送回隊列或主題,並請求客戶將遵循相同的流程並將其提取出來。如果消息的大小很大,那麼MoM將不得不考慮這個因素。
讓我懷疑Http是否是更好的解決方案來訪問這樣的解決方案,而不是通過消息傳遞路徑?我已經看到許多應用程序使用像AMQ或TIBCO Rvd這樣的MoM實際用於立即請求/響應 - 但是這是不好的設計,或者是一些微調或設置使它與Http相同。
謝謝。那麼對於新項目,並且希望爲JMS/HTTP中的哪種服務設置一些標準。例如訂購過程 - 雖然它可能會在提交訂單後仍然執行一系列短暫的自動化事件,但我們可以開火併忘記 - 因此JMS非常適合。但是對於某些位,比如我想要一個服務的狀態 - 目前這是通過JMS,我們正在考慮轉移到HTTP。 - 我承認,我們沒有做任何性能測試,但試圖收集,如果反之,在immediete響應比JMS更好的情況下。更改代碼很好 - 只需將連接API從JMS – Soumya 2013-03-01 16:51:39
更改爲HTTP hi Nicholas - 根據我上面的評論,您可以進一步評論嗎?謝謝 – Soumya 2013-03-04 15:34:28
對於你的兩個例子,它們在每種情況下聽起來都是合適的。JMS非常擅長Fire-n-Forget,但對於更多類似於實用程序的事情(如狀態檢查),使用HTTP是有意義的,並且還簡化了調用並擴展了潛在客戶羣(發佈WGET更容易命令,而不是發送JMS消息....) – Nicholas 2013-03-04 16:36:37