單體式應用程式
跳到导航
跳到搜索
此條目没有列出任何参考或来源。 (2017年2月4日) |
此條目翻譯品質不佳。 (2017年2月4日) |
單體式應用程式(英語:Monolithic application)是一種軟體設計結構,這不一定要是一種「應用程式」,因為這種概念也能夠應用在網路服務上。一個單體式應用程式裡面有許多的邏輯、服務(如:使用者服務、文章服務、留言服務),並且都有密不可分的關係。一旦其中一個服務不可用時,就會造成另一個服務也無法使用,因此也常被拿來當作微服務結構的對比,因為微服務獨立、自主,並不會有像單體式應用程式這樣的問題。
在程式進行時,單體式應用程式通常會循序執行,異步執行的時機較少(不是絕對的)。像是部分應用程式中在安裝畫面時可能導致介面卡死,按下「取消」按鈕毫無反應,就是因為以非異步執行所產生的緣故。
好處[编辑]
單體式應用程式的結構規劃十分簡潔,因為服務與服務之間可以直接有所牽連,如:文章服務可以直接呼叫使用者服務。在這方面並沒有太多的忌諱,所以開發時程在起步時也能夠大幅減少。
壞處[编辑]
由於單體式應用程式就像一個大型容器一樣,裡面擺置了許多服務,且他們都是密不可分的,這導致應用程式在擴展時必須以「應用程式」為單位。這意味著當裡面有個服務特別吃重(負載過高)時,並不能夠單獨擴展該服務,必須擴展整個應用程式,這可能導致額外的資源浪費。此外,單體式應用程式由於服務之間的緊密度、相依性過高,這將導致測試、升級有所困難,且開發曲線有可能會在後期大幅度地上升,令開發不易。相較之下微服務結構能夠解決這個問題。