一、分布式
1. 分布式是什么?
将项目按照特定的规则拆分成多个子项目,分开来发布
2. 什么时候使用分布式?
一般在大型项目中使用
3. 为什么要用分布式?
使用传统项目(单个项目)开发时,如果其中一个功能模块出现问题,可能会影响到整个项目的使用。为了解决这种问题,使用了分布式,
将项目的功能模块在架构层级松耦合
4. 怎么使用分布式?
分布式主要有两种拆分方式:垂直拆分和水平拆分
垂直拆分:按照项目的功能模块进行拆分,使功能模块系统化。
例如:日志管理子系统,用户管理子系统,菜单管理子系统等
水平拆分:按照项目的代码层次进行拆分,主要拆分成view层(视图层),controller层(控制层),service层(业务层),dao层(持久化层),
pojo层。其中层级之间使用接口的方式进行对接。
扩展
大型项目的业务逻辑可能会比较复杂,一起开发的周期可能会很长。为了提高开发效率,缩短开发周期,大型项目在构建时可能会使用水平拆分。
小型项目一般不会使用(没必要)。
二、高并发
1. 高并发是什么?
单位时间内,大量的请求访问服务器
2. 什么时候出现?
大量的请求同时访问服务器的时候
3. 为什么会出现高并发?
大量的用户同时访问服务器,例如:双11的淘宝
4. 怎么去处理高并发?
主要搭建集群来抗击高并发。
单台服务器处理不过来,就搭建多台服务器一起处理。
比如:一个小孩和一个大人打架,小孩打不过大人,于是这个小孩叫来了多个小孩一起跟大人打。
扩展
并发:单位时间内,多个请求访问服务器
并发量:单位时间内,访问服务器的请求数量
单台tomcat服务器处理访问请求的理论效率:220条/s,但一般达不到这个效率,实际上大约为:150条/s。这两个效率值不是固定的,受服务器的性能所影响。
三、集群
1. 集群是什么?
使用多台服务器来处理访问请求
2. 什么时候使用?
主要在出现高并发的情况使用
3. 为什么要用集群?
因为单位时间内访问请求太多,单台服务器处理不过来。所有才会使用集群。
4. 怎么实现集群?
搭建多台服务器一起处理访问请求,搭建集群是抗击高并发比较有效的手段。
扩展
服务器是项目运行的基础,所有尽可能不让服务器宕机。
但是服务器宕机又是不可预测的,针对这种情况提出了高可用。
高可用:给每一个服务器配置一个或多个备用服务器(平时不工作),当服务器宕机后,其对应的备用服务器会自动接管它的工作,从而实现故障迁移,
不影响用户的正常使用。
四、海量数据
1. 海量数据是什么?
实际上就是大量的数据
2. 为什么会出现海量数据?
由于公司业务的长期积累,数据库中保存了大量的数据
3. 怎么处理海量数据?
大数据和人工智能都是用来处理海量数据的技术。