欢迎来到天天文库
浏览记录
ID:33582411
大小:194.83 KB
页数:11页
时间:2019-02-27
《从100pv到1亿级pv网站架构演变》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、从100PV到1亿级PV网站架构演变一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。1:积累是必不可少的架构师不是一天练成的。1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布局,一个DB连接,几行PHP的代码嵌入在HTML中,再用FTP传到服务器上就可以给别人展示一个网站。2000年,个人主页
2、已经不能满足好奇,在当时的网管中心管起几台机器,作起网线水晶头,用ALLPEOPLESEEMSTONEEDDATAPROCESS的理论开始认识了7层网络模块(面试技术员工时,经常会问这些网络基础知识的理解)。有了基础理论的武装,我也开始配置各种服务来玩LINUX,AIX和FREEBSD这些系统。面对各种原理不懂的系统,目的只是想尽办法去解决网站需要的各种基础服务。当时搭建了REALSERVER流媒体服务,各种开源FTP下载服务,BATTLENET游戏网关,APACHE(keepalive等配置,
3、http报头相关的知识也是面试的老客户),DNS,QMAIL等服务给学校的学生使用;网站有近10万PV的时候,开始考虑如何作扩展拆分,MYSQL的MASTERSLAVE作读写分离,MYSQL的索引优化是当时唯一会使用的DB性能优化方法。这个阶段基本上能解决需求,同时也遇到瓶颈,不知道访问量再大一个数量级,怎么办?明显感到技术能力不够。当时受限于网站的量一直没有新的数量级的突破,导致了几年内技术工作以维护为主,体验着网站日常运维的各种纠结,体力活。而这时期网站的2层架构方法也一再被重复应用到后续的
4、N个网站的搭建过程中,2001年开始的JSP与PHP之争好像对我没什么感觉,因为我还是只会用那种很土的2层架构作着网站:页面中嵌入JSP,连接后端的MYSQL进行数据的CRUD,没有事务,没有考虑数据库读写错误,没有考虑两层系统不可用,因为有问题只需要重启,有报错只需要改JSP后刷新页面。作网站确实是体力活。2005年,在道富参与了FXCNG项目,用MULEESB,接触到MULE的前几个月还没有意识到这个系统在架构中的位置。直到半年后,在与第三方系统集成的应用中,才发现,这样的一个系统就是传说中
5、的中间件,他可以专业的解决一部份系统的职能,比如当时的消息和远程调用代理。这时候我逐步有了一些架构观点,一个大型的应用系统中,是需要隔离一部份技术职能,让系统责任单一,方便技术维护和团队扩展,专人办专事。2006年,阿里软件,一个全新的开始。进入阿里软件的前三个月在马总的老家,淘宝的发源地:湖畔花园小区,2楼的4室两厅里进行了封闭式开发,很累,但很兴奋。这段时间,我参与了一个全新外贸ERP系统的搭建。虽然只作为一名普通的JAVA开发工程师,仅负责一个很小的模块开发,但还是正式体会到一个大型系统的
6、初创过程。这段时间对MVC的架构理论有了深刻的理解。MVC三层架构比2层架构带来的更好的技术扩展与团队扩展能力让我映像深刻。M层负责DB逻辑的CRUD,架构师们开发出了大量的中间层JAR包,完成了DAO层,DO的封装,M层也完成了SERVICE层,完成了BO的封装,接口包的封装,系统使用了最常用的工厂、单例、FACACE等模式(直到现在,我面试人还是常常只会问这些基本的模式)。V层的模板隔离,前端开发可以在这一层和后端开发一起修改界面(之后,更大规模的团队连这一层都可以再分离)。C层完成输入输出
7、的基本校验和检查然后调用后面的服务层功能或作转发。简洁朴素的结构生命力是比较持久的。直到现在,MVC还是具有很强的生命力,在更种大型网站中承担重要架构骨架。07年,我对应用层,服务中心层,持久层三层架构并没有多少的实践应用和理解。因为MVC对于初创系统或中小型网站,20人左右的团队规模来讲,已经适用。换个角度看,当时在3个月内作出一个完整的ERP系统也只用使用MVC,再选进的架构也需要考虑网站发展的阶段。用户一边使用,工程师一边迭代改进架构,这个方式是作网站,不是传统应用软件开发。ERP本身源自
8、传统应用软件领域,我们在用互联网的方式作管理软件,最大的挑战应该是这种边作边改进架构的理念。07年,这个理念之争逐步在团队内达成了一致,架构师们小心的平衡着业务和架构,这个网站高峰时,也支撑到了日访问量近千万的级别,没有闪架。08年,阿里软件开放平台,又是一个新系统。全新的系统架构总是可以得到足够的时间来考虑末来1到3年的增涨。实际上,互联网系统,我们感觉只能考虑到一年的架构。这一年,我参与架构设计,开始理解了三层架构的价值与扩展能理,服务中心开始搭建,因为这个系统将接受的几百万在线的旺旺用户访
此文档下载收益归作者所有