《大型网站技术架构》学习笔记

Posted __Meng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《大型网站技术架构》学习笔记相关的知识,希望对你有一定的参考价值。

第一章: 大型网站的演化

1.1 大型网站软件系统的特点

  高并发, 大流量

  高可用:7*24小时不间断服务

  海量数据

  用户分布广泛, 网络情况复杂

  安全环境恶劣:大型网站几乎每天都被攻击

  需求快速变更, 发布频繁:大型网站每周都有新版本上线

  渐进式发展:大型网站都从小网站发展而来

 

1.2 大型网站架构演化发展历程

初始阶段的网站架构

  只用一台服务器。

 

应用服务和数据服务分离

  分出了应用, 数据, 文件三台服务器.

  应用服务器要处理大量的业务, 所以需要更快更强的CPU.

  数据服务器快速磁盘检索和数据缓存, 需要更快的硬盘和大内存

  文件服务器用于存储用户的文件, 需要更大的硬盘

 

使用缓存改善网站性能

  大部分业务访问集中在一小部分数据上。

  本地缓存:速度快,受应用服务器内存限制

  分布式缓存服务器(集群):使用大内存服务器

 

使用应用服务器集群改善网站的并发处理能力

  通过持续增加应用服务器的方式来改善负载压力, 实现系统的可伸缩性。

  通过负载均衡调度服务器,将访问请求分发到应用服务器集群的任意一台服务器。

 

数据库的读写分离

  使用缓存后,少部分读和全部写还是要访问数据库

  配置主从数据库. 应用服务器要写数据时, 访问主数据库. 主数据库通过主从复制机制将数据更新同步到从数据库.

 

使用反向代理和CDN加速网站响应

  基本原理都是缓存. 区别在于CDN部署在网络提供商机房中. 而反向代理部署在网站机房中.

  如果反向代理服务器缓存着用户请求的资源,则直接返回给用户,降低了服务器的压力。

  目的都是为了尽早返回数据给用户。

 

使用分布式文件系统和分布式数据库系统

  通常使用业务分库,将不同业务的数据部署在不同的服务器上。

  单表规模非常庞大时,才使用分布式数据库。

 

使用NoSQL和搜索引擎

  通过一个统一的数据层访问各种数据, 减轻应用程序管理诸多数据库的麻烦。

 

业务拆分

  将整个网站业务拆分成不同的产品线。

  大型购物网站会将首页,商铺,订单,买家,卖家分成不同的产品线,由不同的团队负责。

 

分布式服务

  比如用户管理,商品管理这些业务,可以将共用的业务提取出来,独立部署

以上是关于《大型网站技术架构》学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

《大型网站技术架构》学习笔记

学习笔记8:《大型网站技术架构 核心原理与案例分析》之 固若金汤:网站的安全架构

学习笔记5:《大型网站技术架构 核心原理与案例分析》之 瞬时响应:网站的高性能架构

《大型网站技术架构》读书笔记之八:固若金汤之网站的安全性架构

学习笔记6:《大型网站技术架构 核心原理与案例分析》之 万无一失:网站的高可用架构

学习笔记7:《大型网站技术架构 核心原理与案例分析》之 永无止境:网站的伸缩性架构 李智慧 著