大型网站核心架构要素
性能:
提高性能得而方式:
衡量一个网站性能的指标:响应时间、TPS、系统性能计数器等【注意在高并发的情况下】
- 浏览器端可以通过浏览器缓存、使用页面压缩、合理布局页面、减少Cookie传输等手段改善性能。
- 使用CDN,让用户访问较近的网络服务商机房;或者使用反向代理减轻服务器端负载的压力。
- 应用服务器端:使用服务器本地缓存和分布式缓存提高性能。
- 多台服务器组成集群对外服务。
- 从代码层面可以使用多线程,改善内存管理等手段优化性能。
- 数据库服务端:索引、缓存、SQL优化。还有方兴未艾的NoSQL数据库,在优化数据模型、存储结构、伸缩特性等方面优势显著。
可用性:
实现高可用的手段——冗余。对于服务器集群而言,其中一部分服务器出现宕机的现象很正常。多台服务器可以通过负载均衡机器将请求切换到其他服务器上(失效转移),某宝承诺可用性可达99.99%[四个9]
伸缩性:
衡量一个网站的伸缩性的标准:是否可以多台服务器构建集群,是否容易向集群中添加新机器,新加的服务器是否和原先运行的服务器有差别,以及集群的容量是否有限制。
扩展性:
网站更新添加或修改功能的时候,对已有功能的影响、产品之间的耦合度。