一、关于pom文件:
子Maven项目默认不会继承父Maven项目pom文件中dependencyManagement
中的依赖;
子Maven项目如果需要使用父Maven项目的依赖,需要在子pom文件中显示声明(可不写版本)。
二、系统架构的演变历史
- all in one
所有服务器资源(Tomcat、数据库、资源文件)放在一台服务器上,学习、开发成本低。系统访问量增多,资源不够用,容易宕机。 - 第一次演变:增加服务器
Tomcat(应用)、数据库、资源文件(上传功能、图片等,一版会付费存储到OSS等)各放在一台服务器 - 第二次演变:
1)应用服务器水平扩展(多加几台),用负载均衡分发到不同服务器上。
2)数据库服务器增加缓存、数据库读写分离、增加集群、数据库分库分表等。
3)此时,视图展示的渲染还是由应用服务器来负责的,可通过NodeJS将前端提出来:
4)当数据库大到一定程度,也会引入ES等进行数据查询
5)应用拆分,如拆分为淘宝、天猫等
6)微服务拆分,将应用的公共功能拆分为微服务,增加其性能
7)服务中台,解决各种复杂的访问网,一个功能中多个微服务,引申出k8s等
注:前后端分离的架构可便于后续平顺、无障碍的进入微服务架构改造