读书笔记-大型网站技术架构(核心原理与案例分析)

一、大型网站架构演化

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

高并发、大流量;高可用;海量数据;用户分布广泛,网络情况复杂;安全环境恶劣;需求快速变更,发布频繁;渐进式发展;

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

初始阶段的网站架构:Linux+Apache+Mysql+PHP  简称 LAMP , 运行在同一个服务器上。

应用服务和数据服务分离:将应用服务、数据服务器、文件服务器分离,不同特性的服务器承担不同的服务角色,网站的并发处理能力和数据存储空间得到了很大改善

使用缓存改善网站性能:分为本地缓存和远程分布式缓存;本地缓存的访问更快一些,但是受应用服务器内在限制,其缓存数据量有限,而且会出现和应用程序争用内存的情况;远程分布式缓存可以使用集群方式,部署在专门服务器上;使用缓存后,数据访问压力得到有效缓解。(80%的业务访问集中在20%的数据上)

使用应用服务器集群改善网站的并发处理能力:应用服务器实现集群是网站可伸缩集群架构中较为简单成熟的一种,通过负载均衡调度服务器。

数据库读写分离:主从热备,写入主库,读取从库

使用反向代理和CDN加速网站响应:CDN和反向代理的原理都是缓存。CDN部署在网络提供商的机房;反向代理部署在网站的中心机房;

使用分布式文件系统和分布式数据库系统:网站常用的数据库拆分手段是业务分库,将不同业务的数据库部署到不同的物理服务器上。

使用NoSql和搜索引擎:解决数据存储和高性能检索的问题

业务拆分:按业务领域进行服务拆分

分布式服务:将共用服务抽离出来,独立部署,实现数据库按业务拆分。

1.3 大型网站架构演化的价值观

1、核心价值:随网站所需灵活应对

2、驱动大型网站技术发展的主要力量是网站的业务发展

1.4 网站架构设计误区

1、一味追求大公司的解决方案

2、为了技术而技术

3、企图用技术解决所有问题

二、大型网站架构模式

 

三、大型网站核心架构要素

四、网站的高性能架构

五、网站的高可用架构

 

六、网站的伸缩性架构

 

七、网站的扩展性架构

 

八、网站的安全性架构

 

九、读后感言

几年前买的一本书,看了一遍,感触不是很深,最近拿起来看了几眼,忽然感觉现在的很多互联网技术都离不开本书中的一些基本原理,书中循序渐进的结合实际工作中的问题讲解具体的解决方案,通俗易懂,又可以一览大型网站架构的全貌,给力,给力。

 

posted on 2019-05-25 23:30  loveopenxxs  阅读(132)  评论(0编辑  收藏  举报