大型网站演化的价值观

1、核心价值是随网站所需灵活应对。
2、驱动网站技术发展的主要力量是网站的业务发展。

大型网站软件系统的特点

1. 高并发、大流量:需要面对高并发用户,大流量访问。
2. 高可用:系统7×24小时不间断服务。
3. 海量数据:需要存储、管理海量数据,需要使用大量服务器。
4. 用户分布广泛,网络情况复杂:为全球用户提供服务,各国地网络千差万别。在国内,还有各运营商网络互通难的问题及可能的光缆故障问题。
5. 安全环境恶劣:由于互联网的开放性,几乎每天都会受到***的***。
6. 需求快速变更,发布频繁:为快速适应市场,满足用户需求,其产品发布频率非常高。
7. 渐进式发展:大型互联网站都是从一个小网站开始的。好的互联网产品是慢慢运营出来的。

大型网站优化方向

1. 应用服务及数据服务分离:不同特性的服务器承担不同的服务角色,可用优化网站的并发处理能力及存储空间。
2. 使用缓存改善网站性能:一种是应用服务器上的本地缓存,另一种是专门的分布式缓存服务器上的远程缓存。本地缓存访问速度快一些,但是容量有限;远程缓存使用集群的方式,理论上可用容量无限。
3. 使用应用服务器集群改善网站的并发处理能力
4. 数据库读写分离
5. 使用反向代理和CDN加速网站响应:目的是尽早返回数据给用户,一方面加快用户访问速速,另一方面减轻后端服务器负载压力。
6. 使用分布式文件系统和分布式数据库系统:分布式数据库是网站数据库拆分的最后手段,不到不得已时,常用的手段是业务分库,将不同业务的数据库部署在不同的物理服务器上。
7. 使用NoSQL和搜索引擎:该技术手段对可伸缩的分布式特性具有很好的支持。
8. 业务拆分:根据业务场景或产品线进行划分,每个应用独立部署维护。应用之间通过超链接建立联系,通过消息队列进行数据分发。
9. 分布式服务:随着业务拆分越来越小,每个业务都可能会需要执行相同的业务操作,比如用户管理,商品管理,这些可用服用的业务提取出来,独立部署。

网站架构设计的误区

  1. 一味追随大公司的解决方案。
  2. 为了技术而技术。
  3. 企图用技术解决所有问题。