本文给梯友们梳理下李智慧编写的《大型网站技术架构_核心原理与案例分析》,我觉得里面的好多策略都在实际中有相应的使用。梳理出来仅供各位参考。
** 一、大型网站软件系统的特点
**
·高并发、大流量
·高可用
·海量数据
·用户分布广泛、网络情况复杂
·安全环境恶劣
·需求快速变更
**
**
** 二、大型网站架构演化发展历程**
** 1、初始阶段的网站架构**
这个阶段应用程序、数据库、文件等所有资源都放到一台服务器上。
** 2、应用服务器和数据服务分离**
** 3、使用缓存改善网站性能**
使用缓存后,数据库访问压力得到有效缓解。
** 4、使用应用服务器集群**
**** 通过负载均衡,可将用户的流量分发到不同的机器里面,减少服务器的压力。
** 5、数据库读写分离**
通过读写分离的机制,可以让数据库的压力减少。
** 6、使用反向代理和 CDN 加速**
**** 使用 cdn 加速可以加快用户访问速度,减少服务器的压力。
** 7、使用分布式文件和分布式数据库系统**
** 8、使用 NoSQL**
** 9、业务拆分**
将一个网站拆分成不同的应用,每个应用独立部署和维护。
** 10、分布式服务**
** 三、大型网站架构演化的价值观**
** 1、分层
**
** **分层是企业应用系统中最常见的一种架构模式,将系统在横向维度切分成几个部分,每个部分负责单一的职责。
** 2、分割**
分层是将软件在横向方面进行切分,分割是在纵向方面对软件进行切分。
** 3、分布式**
** ** ·分布式应用和服务
·分布式静态资源
·分布式数据和存储
·分布式计算
** 4、集群**
** **多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。
** 5、缓存**
** ·**CDN
·反向代理
·本地缓存
·分布式缓存** **
** 6、异步**
·提高系统可用性
·加快网站响应速度
·消除并发访问高峰
** 7、冗余**
** **·数据冗余:冷备、热备
·应用冗余:集群
** 8、自动化**
** ** ·发布过程自动化
·自动化代码管理
·自动化测试
·自动化安全检测
·自动化部署
·自动化监控
·自动化报警
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于