网站架构:单体应用

了解一个东西,最好的方式是了解它的历史背景以及发展过程

网站架构的发展,就是从单体应用发展过来的,当时系统的所有功能单元,整体部署到同一进程

优点

  1 现有IDE都是集成开发环境,非常适合单体式应用,开发,编译,调试一站式搞定

  2 一个应用包含所有功能,容易测试和部署

  3 运行在一个物理节点,环境单一,运行稳定,故障恢复简单

缺点

  1 业务边界模糊,模式职责不清晰,当系统逐渐变大,代码依赖复杂,难以维护

  2 所有人同时在一个工程上开发,容易发生代码修改冲突,依赖复杂导致项目协调苦难,并且局部修改影响不可知,需要全覆盖测试,需要重新部署,难以支持大团队并发开发

  3 当系统很大时,编译和部署耗时

  4 应用水平扩展难,一方面状态在应用内部管理,无法透明路由,另一方面,不同模块对资源需求差异大,当业务量增大是,一视同仁为所有模块增加机器导致硬件浪费

单体应用的发展历程

  简单单体模式  代码层面没有拆分,所有业务逻辑都在一个项目里打包成一个二进制的编译后文件,通过这个文件进行部署,并提供业务能力

  MVC模式     系统内的每个模块的功能组件按照不同的指针划分为模型,视图,控制器等角色,并以此来组织研发实现工作

  前后端分离   将前后端代码耦合的设计改为前端逻辑和后端逻辑独立编写实现的处理模式

  组件模式    系统的每一个模块拆分为一个子项目,每个模块独立编译打包成一个组件,然后所有需要的组件一起再部署到同一个容器里

  类库模式    A系统复用B系统的某些功能,这时可以把B系统的某些组件作为依赖库,打包到A系统来使用

猜你喜欢

转载自www.cnblogs.com/hpzhu/p/10598620.html
今日推荐