我們當前的應用程序運行在單個JVM中。允許模塊化開發,同時仍在同一個JVM中運行?
我們現在將應用程序拆分爲單獨的邏輯服務,其中每個服務都在其自己的JVM中運行。
正在進行拆分以允許在不影響整個系統的情況下修改和部署單個服務。這減少了對整個系統的QA需求 - 只需要QA與正在改變的服務的交互。
對於服務間通信,我們使用REST,MQ系統總線和數據庫視圖的組合。
我不喜歡這個:
- REST意味着我們必須從XML元帥數據/
- DB意見夫婦的系統連接在一起,其違背了獨立服務的整個概念
- MQ /系統總線增加了複雜性
- 服務之間不可避免地存在一些代碼重複
- 您已經設置了n個JBoss服務器配置,我們必須執行n個部署,n numb呃建立腳本等等等
有沒有更好的方式來構建一個內部應用程序以允許模塊化開發和部署,同時允許應用程序在單個JVM中運行(並實現相關優勢)?
感謝您的回覆。服務器如何「促進軟件包之間的通信」? – 2010-03-14 21:00:41
我已在編輯的回覆中對此進行了擴展。您只需調用所需的方法即可。 – 2010-03-14 21:02:22
我得到的是怎樣才能不把應用程序分開?爲了讓它運行在同一個JVM中,但它的設計使您可以單獨部署應用程序的單獨「模塊」。通過這樣做,您可以確信應用程序中唯一發生變化的部分是「模塊A」,您只需「模塊A」和其他應用程序之間的通信即可進行QA。而且這也會降低更改進入另一個模塊的風險,並且當您要部署的所有內容都是「模塊A」時會導致一些問題。 – 2010-03-14 21:04:30