1、 大访问量
2、 大储存量
3、 访问速度
4、 服务器监控
网络构架 --> 服务器构架 --> 应用程序开发
一、大访问量
大访问量一般偏重于网络架构。解决方案:负载均衡技术、冗余技术。
1、负载均衡(数据分流):
以轮循的方式把大量人群分流不同服务器。
负载均衡常用技术有: cisco以太网通道、F5等负载均衡器、windows NLB技术、linux LVS技术
对于LAMP而言主要是linux LVS开源软件技术。其他不太合适。
典型LVS结构(Linux Virtual Server)
一般来说,LVS集群采用三层结构,负载调度器、服务器池、共享存储主要部分组成
2、冗余技术(服务器集群)
当一台服务器挂了(单点故障),另一台服务器可以继续运行。
重点是用于防单点故障的备份机。
二、大数据存储
只针对MySQL。数据库之间的主从是主从互备的关系,它是处于负载均衡技术。
mysql负载均衡:
1、MySQL主从负载均衡(主要是依赖于bin-log日志,达到主从数据同步)
当超过1千万数据查询,服务器浪费CPU,内存的负载
主从可以同时活动,增删改走主服务器,查询和备份走从服务器(如下图)
2、MySQL分库分表(垂直分表、水平分表)
当一张表中的行记录数有上千万,在操作系统上把大表分成多个小表,也是一种操作系统上的负载均衡技术。
解决大存储问题:
MySQL有主从数据库起到一个基于网络服务器层面的负载均衡。接着当一张表很大了,可以分表和分区(在操作系统面前,文件的缩小分成多个文件),起到一个基于操作系统负载均衡技术。
MySQL数据库主从集群技术(如下图三个主从集群圈的主从)
三、网站加速技术(构架)
1、Squid代理缓存技术
Squid反向缓存-动静分离
比如:新浪。湖北地区的服务器把总部北京地区服务器里面的静态如JS CSS等文件缓存到缓存池,湖北人去请求的时候,有些数据直接去缓存池里面读取。
2、页面静态化缓存
3、Memcache
4、Sphinx搜索加速(全文索引)