一,单体架构
优点
1,部署简单:由于是完整的结构体,可以直接部署在一个服务器上即可
2,技术单一:项目不需要复杂的技术栈,一套熟悉的技术栈就可以开发
3,用人成本低:单个程序员就可以完成业务接口到数据库的整个流程
缺点
1,系统启动慢,一个进程包含了所有的业务逻辑,涉及到的启动模块过多,导致系统的启动、重启时间周期过长;
2,系统错误隔离性差、可用性差,任何一个模块的错误均可能造成整个系统的宕机;
3,可伸缩性差:系统的扩容只能只对这个应用进行扩容,无法结合业务模块的特点进行伸缩。
4,线上问题修复周期长:任何一个线上问题修复需要对整个应用系统进行全面升级。
5,跨语言程度差
6,不利于安全管理,所有开发人员都拥有全量代码
二,微服务