网站技术架构

1.初始架构

  一台服务器,应用、数据库、文件都在一起,使用 LAMP建站 ,开发部署简单

2.应用服务与数据分离

  •     访问量增长,web性能变差,数据存储空间不够
  •   这时候需要风多的服务器,首先分离数据库,增加文件服务器;
  •   应用服务器 处理大量业务逻辑,需要更强的CPU
  •   数据库服务器 需要快速检索 和 数据缓存,需要更快的硬盘 和 更大的内存
  •   文件服务器 需要存储用户上传的文件,需要更大的硬盘

3.使用缓存改善网站性能

  •   使用缓存改善网站性能:
  •     增加应用服务器本地缓存
  •     增加远程分布式缓存集群
  •     使用类似Memcached之类的开源缓存产品

4.应用服务器集群化

  单一服务器端称为网站瓶颈:

    应用服务器集群化提高网站并发处理能力;

    增加负载均衡服务器来调度应用集群;

  

5.数据库读写分离

  增加缓存后,访问量持速增长,数据库负载压力过高:

    读写分离:利用数据库主从热备功能实现 

6.使用反向代理和CDN

  网站做大后,全国各地各区域访问量增长,但是各区域访问速度差别巨大:

      反向代理 和 CDN :  原理都是缓存,CDN部署在网络供应商的机房,用户请求最近节点访问;

      反向代理部署在网站的中心机房

7.使用分布式FS 和 分布式DBS

  数据库拆分:

      单表拆分:不同表放不同 库,降低单个数据库节点的负载;(不同库的表无法join)

      业务拆分:同一业务表 划分到一个库中

8.使用 NoSQL 和 搜索引擎

  出现海量数据存储 和 检索的需求

  使用NoSQL产品 分布式部署 来支持海量数据的查询和存储

9.业务拆分

  按照业务来划分子系统,按产品线划分,通过分布式服务来协同工作


                                                                转自        http://www.cnblogs.com/me115/p/3641822.html

同是大家闺秀,何必苦苦相逼
原文地址:https://www.cnblogs.com/meiyy/p/6923363.html