大型网站技术架构:核心原理与案例分析阅读笔记一
大型网站技术架构:核心原理与案例分析阅读笔记一
构建高可用,高性能,高可扩展性的网站系统。虽然网站类型各有千秋,但是其中还是具有一些通用性的,经过验证的且成熟的局部解决方案。
企业应用系统进行开发时会遇到功能性和非功能性需求,功能性需求通过增加人手来加快进度,非功能性需求不是通过增加人的数量就可以解决,他们是现实的技术难题。
在系统进行高并发的用户访问时,如果没有很好的架构,很有可能导致系统崩溃,无法响应。
软件架构设计采用4+1视图模型来多角度描述软件系统的设计。
大型网站软件系统通常具有高并发,大流量,高可用,海量数据,用户分布广泛,网络情况复杂,安全环境恶劣,需求快速变更,发布频繁,渐进式发展的特点.
网站发展过程中,一开始只需要使用一台服务器就可以满足需求,所有的服务都在一台服务器,随着用户的增多,需要使应用服务和数据服务分离,应用服务器,文件服务器,数据库服务器,分别对应不同的硬件资源,支持网站业务的进一步发展.随着用户进一步增加,可以使用缓存来解决网站访问的二八定律问题,后期可以通过增加服务器数量来改善应用服务器的负载压力,并且是简单成熟的一种,实现系统的可伸缩性.使用主从热备功能来改善数据库负载压力.网站使用cdn和反向代理来加速网站的访问速度,采用一些非关系数据库技术和非数据库查询技术来满足对数据存储和检索的需求,提高网站业务系统的可伸缩性。