單體應用(Monolithic application)是指一個應用程序以一體化的形式部署和運行在一個獨立的進程中,通常包含一個完整的應用程序棧(application stack),包括用戶界面、應用邏輯、數據存儲和處理等組件。單體應用是傳統的應用開發和部署方式,通常使用一個大型的代碼庫,所有功能都在同一個代碼庫中實現,整個應用程序由一個運行時進程執行,數據庫和其他資源都是共享的。
理解單體應用可以類比成一個傳統的大型商場,所有商品都在一個建筑物里面,商場有一個總控制中心來管理各個部門的運營,不同的部門通過共享資源來協同工作。同樣地,單體應用也是一個大型的應用程序,所有功能都在同一個代碼庫中實現,由一個運行時進程來執行,不同的模塊通過共享資源來協同工作。
盡管單體應用具有部署簡單、開發效率高等優點,但也存在一些局限性,如擴展性差、可靠性差、靈活性差等。隨著業務增長和應用規模擴大,單體應用的弊端逐漸顯露出來,因此,現在越來越多的應用采用了微服務等分布式架構來解決這些問題。