1.分布式:系统中的多个模块在不同的服务器上部署(分布式系统),
原先一个Tomcat服务器放在一台电脑上,现在一个Tomcat服务器放在两台电脑上
2.高可用:系统中部分节点失效时,其他节点能够接替它继续提供服务(高可用性)
高可用,系统在每年或者整天7*24hour*365day,几乎没有出现过故障,或是出现故障的频率很小
出现故障,马上也能够恢复
故障原因:
1)无计划的系统故障:自然灾害
2)有计划的日常维护:运维、数据库升级等等
3.集群:一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务
一台服务器解决不了的问题,使用多台服务器进行解决
(一个数据存储不了10TB的数据,使用多个数据库进行存储)
4.负载均衡:请求发送到系统时,提供某些方式把请求均匀分发到多个节点上,使系统中每个
节点能均匀的处理请求负载
1)轮询方式
2)权重方式
3)IPHash方式
5.正向代理和反向代理:
正向代理:系统内部要访问外部网络时,统一通过一个代理服务器把请求转发出去,在外部网络
看来就是代理服务器发起的访问,此时代理服务器实现的就是正向代理
【翻( 例如) 墙出去,访问外网谷歌、推特】
反向代理:当外部请求进入系统时,代理服务器把该请求转发到系统中的某台服务器上,对外部请求来说,与之交互的只有代理服务器,此时代理服务器实现的是反向代理
【访问Nginx时,具体不知道落到那个Tomcat服务器上】
6.单体架构:
在互联网应用初期,互联网用户数相对较少,可以把Web服务器(Tomcat)和数据库部署在同一台服务器上
面试题:
单体架构的劣势:
1.数据存储的容量;
2.系统的可用性(高可用);
由多个服务器,通过路由、交换机组成在一起【企业机房】
7.本地缓存和分布式缓存:
1)本地缓存:Tomcat服务器内部或JVM当中构建的一个对象,这个对象可以存储很多数据
Tomcat本身就是JVM当做的一个对象【本地缓存指的就是JVM当中内部的缓存】
【JVM的核心,解决对象运行的问题】
2.分布式缓存:
应用缓存的不足:
1.缓存中的数据,可能会和数据库中的数据不一致(在数据更新时)
解决方式:
1)更新数据库时,更新缓存或是清空缓存
2)系统允许的情况下,设置定时任务,每5秒中刷新一下缓存
使用缓存中遇到问题:
1.【缓存击穿:恶意攻击系统,访问时设置负数,传递到数据库