单体应用(Monolithic application)是指一个应用程序以一体化的形式部署和运行在一个独立的进程中,通常包含一个完整的应用程序栈(application stack),包括用户界面、应用逻辑、数据存储和处理等组件。单体应用是传统的应用开发和部署方式,通常使用一个大型的代码库,所有功能都在同一个代码库中实现,整个应用程序由一个运行时进程执行,数据库和其他资源都是共享的。
理解单体应用可以类比成一个传统的大型商场,所有商品都在一个建筑物里面,商场有一个总控制中心来管理各个部门的运营,不同的部门通过共享资源来协同工作。同样地,单体应用也是一个大型的应用程序,所有功能都在同一个代码库中实现,由一个运行时进程来执行,不同的模块通过共享资源来协同工作。
尽管单体应用具有部署简单、开发效率高等优点,但也存在一些局限性,如扩展性差、可靠性差、灵活性差等。随着业务增长和应用规模扩大,单体应用的弊端逐渐显露出来,因此,现在越来越多的应用采用了微服务等分布式架构来解决这些问题。