大型网站的架构和语言 大型网站开发流程和步骤( 三 )


完成这一步后,请看一下系统图:
这一步涉及到这些知识体系:
数据读写分离需要对数据库复制、备用等策略有很深的认识和理解,同时需要自我实现技术;
低成本存储方案需要对OS的文件存储有深入的了解和理解,以及对文件块中所采用的语言的实现有深入的了解 。
架构进化第十步:进入大型分布式应用时代和廉价服务器群的梦想时代
在经历了这个漫长而痛苦的过程后,完美时代终于再次迎来,不断增加的webserver数量可以支撑越来越多的访问量 。对于大型网站来说,人气的重要性毋庸置疑 。随着越来越普及,各种功能的需求也开始爆发 。这个时候我突然发现原来部署在webserver上的web应用已经很大了 。很多团队开始改的时候,确实不方便,复用性也挺差的 。基本上每个团队都做一些或多或少重复的事情,部署和维护也相当麻烦 。因为一个巨大的应用包在N台机器上复制启动需要花费大量的时间,所以出了问题不容易检查 。还有一种更糟糕的情况是,很有可能某个应用出现bug,导致全站不可用 。还有其他因素,比如糟糕的调优操作(因为部署在机器上的应用程序必须做所有的事情,所以根本不可能进行有针对性的调优) 。基于这样的分析,我们开始下定决心 。系统会按照职责进行拆分,这样一个大型的分布式应用就诞生了 。通常,这一步需要很长时间,因为会有很多挑战:
1.需要提供一个高性能、稳定的通信框架,拆分成分布式后支持多种不同的通信和远程调用方式;
2.拆分一个庞大的应用需要很长时间,需要梳理业务,控制系统依赖 。
3.如何维护这个庞大的分布式应用(依赖管理、运行状态管理、错误跟踪、调优、监控和报警等 。).
经过这一步,系统的架构几乎进入了一个相对稳定的阶段 。同时,大量廉价的机器可以用来支撑庞大的访问量和数据量 。结合这种架构和从如此多的演进中获得的经验,可以使用各种其他方法来支持越来越多的访问 。
完成这一步后,请看一下系统图:
这一步涉及到这些知识体系:
这一步涉及的知识体系很多,需要对通信、远程调用、消息机制等有深入的理解和掌握 。,并且需要对所采用语言的理论、硬件层面、操作系统层面和实现有清晰的理解 。
【大型网站的架构和语言 大型网站开发流程和步骤】最后附上一个大型网站的架构图:


推荐阅读