一、将大型互联网web系统分为七大块四大类,如下:
1.1 管理类:
代码分发系统
1.2 前端:
web前端系统
负载均衡系统
1.3 服务端:
分布式服务器管理系统
缓存系统
分布式存储系统
1.4 持久层:
数据库集群系统
二、web前端系统
2.1 要解决的主要问题:
2.1.1、不同应用服务器共享
2.1.2、避免单点故障
2.1.3、集中管理
2.1。4、统一配置
2.2 核心功能:
不以应用划分服务器,而是将所有服务器统一使用。每台服务器都可以对多个应用提供服务,当某些应用访问量增高时,可以通过增加服务器节点达到整个服务器集群性能提高。
三、负载均衡系统
3.1 硬件负载均衡系统:
效率高,但是价格贵,比如F5等。
3.2 软件负载均衡系统:
价格较低或者免费,效率较硬件负载均衡系统低,不过对于流量一般或稍大些网站来讲也足够使用,比如lvs, nginx。
3.3 硬件、软件负载均衡系统并用。
四、分布式服务器管理系统
4.1 集中管理
4.2 分组管理
4.3 批量管理
4.4 自动化管理
五、缓存系统
5.1 种类
5.1.1 文件缓存
5.1.2 内存缓存,代表软件:mencached
5.1.3 数据库缓存
5.2 目的
5.2.1 提高查询效率
5.2.2 降低数据库或存储服务器的访问压力
5.2.3 避免单点故障
六、分布式存储系统
要解决的问题:
6.1 存储量大,超出单点存储的负载能力
6.2 每个节点操作的数据是能被其它节点共享的整体,而不是单个数据源
七、数据库集群系统
7.1 读写分库
7.2 快速的将数据从主库(写库)复制到从库(读库)
7.3 写数据库多台,每天均支持多应用使用,解决性能问题和防止单点故障
7.4 读数据库多台,负载均衡
7.5 数据库服务器与应用服务器分离
八、代码分发系统
8.1 批量分发
8.2 批量更新