系统架构演变
随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。
单体应用架构(旅游网)--->垂直应用架构--->分布式架构--->SOA架构--->微服务架构
单体应用架构
单体应用结构,就是将一个系统的多个模块做成一个web项目,然后部署到一台tomcat服务器上
优点:
- 项目架构简单,小型项目的话, 开发成本低
- 项目部署在一个节点上, 维护方便
缺点:
- 项目模块之间紧密耦合,单点容错率低
- 无法针对不同模块进行针对性优化和水平扩展
垂直应用架构
垂直应用架构,就是将原来的一个系统拆成成多个模块,然后每个模块部署在一台tomcat服务器上
优点:
- 可以针对不同模块进行优化和水平扩展
- 一个系统的问题不会影响到其他系统,提高单点容错率
缺点:
- 系统之间相互独立,无法进行相互调用,会有重复的开发任务
分布式架构
分布式架构就是指将服务层单独部署在tomcat上对外提供服务,在controller中可以通过远程调用访问服务层中的方法
优点:
- 抽取公共的功能为服务层,提高代码复用性
缺点:
- 调用关系错综复杂,难以维护
SOA架构
SOA结构,在分布式架构的基础上,增加一个调度中心对系统进行实时管理。
面试直达: 聊一聊集群和分布式的区别
* 集群: 多台服务器一起工作,每台服务器的任务是一样的
* 分布式:多台服务器一起共同完成一个任务,每台服务器完成任务的一部分(每台服务器任务不一样)
RPC远程方法调用:
hession webservice dubbo
微服务架构
——将各个功能模块拆成一个个能够独立运行的服务