本文给梯友们梳理下李智慧编写的《大型网站技术架构_核心原理与案例分析》,我觉得里面的好多策略都在实际中有相应的使用。梳理出来仅供各位参考。

      一、大型网站软件系统的特点

             ·高并发、大流量

             ·高可用

             ·海量数据

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

             ·安全环境恶劣

             ·需求快速变更


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

            1、初始阶段的网站架构

             


大型网站的css架构 大型网站架构技术_天梯

                这个阶段应用程序、数据库、文件等所有资源都放到一台服务器上。


            2、应用服务器和数据服务分离

               


大型网站的css架构 大型网站架构技术_大型网站的css架构_02


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



大型网站的css架构 大型网站架构技术_架构_03

              使用缓存后,数据库访问压力得到有效缓解。

            4、使用应用服务器集群



大型网站的css架构 大型网站架构技术_读书_04

                通过负载均衡,可将用户的流量分发到不同的机器里面,减少服务器的压力。

5、数据库读写分离

                 


大型网站的css架构 大型网站架构技术_大型网站的css架构_05

             通过读写分离的机制,可以让数据库的压力减少。

            6、使用反向代理和CDN加速

                


大型网站的css架构 大型网站架构技术_服务器_06

            使用cdn加速可以加快用户访问速度,减少服务器的压力。

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

            


大型网站的css架构 大型网站架构技术_天梯_07


            8、使用NoSQL



大型网站的css架构 大型网站架构技术_天梯_08


            9、业务拆分



大型网站的css架构 大型网站架构技术_天梯_09

             将一个网站拆分成不同的应用,每个应用独立部署和维护。

            10、分布式服务



大型网站的css架构 大型网站架构技术_架构_10


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

            1、分层

             分层是企业应用系统中最常见的一种架构模式,将系统在横向维度切分成几个部分,每个部分负责单一的职责。



大型网站的css架构 大型网站架构技术_读书_11

            2、分割


 分层是将软件在横向方面进行切分,分割是在纵向方面对软件进行切分。

            3、分布式

                 ·分布式应用和服务

                 ·分布式静态资源

                 ·分布式数据和存储

                 ·分布式计算

            4、集群

                 多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。

            5、缓存

                ·CDN

                ·反向代理

                ·本地缓存

                ·分布式缓存         

            6、异步

               ·提高系统可用性

                ·加快网站响应速度

                ·消除并发访问高峰

            7、冗余

                 ·数据冗余:冷备、热备

                 ·应用冗余:集群

            8、自动化

                 ·发布过程自动化

                 ·自动化代码管理

                 ·自动化测试

                 ·自动化安全检测

                 ·自动化部署

                 ·自动化监控

                 ·自动化报警