MyException - 我的异常网
当前位置:我的异常网» 软件架构设计 » 特大型网站技术核心原理与案例分析

特大型网站技术核心原理与案例分析

www.MyException.Cn  网友分享于:2013-11-28  浏览:0次
大型网站技术核心原理与案例分析

李智慧,曾在阿里巴巴担任技术专家,参与阿里巴巴基础技术平台开发和架构设计。目前就职英特尔亚太研发中心从事云计算与大数据方面的研发工作。

 

《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web安全、系统发布、运维监控等在内的大型网站开发全景视图。

 

我为什么要写这本书 
我想写一本关于网站架构方面的书源起于2011年年末至2012年年初发生的两件事。 

2011年末,京东网图书促销,在打5折的基础上再满一百送一百,作为一个爱买书胜过爱读书的人,我对这种促销活动根本没有免疫力,于是兴致勃勃地在活动当天登录WWW.MIMIE199.CN,准备将收藏夹里的图书一网打尽。 

 

往购物车里尽情地塞了一堆书后,点击“购买”按钮,但是浏览器迟迟没有响应,预感到京东的服务器可能因为并发访问量过高,超过了系统的最大负载能力,果然过了一会,浏览器页面显示“Service is too busy”。我不甘心,返回购物车页面继续点击“购买”按钮,浏览器继续显示“Service is too busy”。 

 

于是我猜测:能够正常访问购物车,却不能成功购买,问题应该是出在订单系统,B2C网站生成一个订单需要经历扣减库存、扣减促销资源、更新用户账户等一系列操作,这些操作大多是数据库事务操作,没有办法通过缓存等手段来减轻数据库服务器负载压力,如果事前没有设计好数据库伸缩性架构,那么京东的技术团队将遇到一个大麻烦。 

 

当天晚上,我登录新浪微博,看到京东的大老板刘强东发布了一条微博:“我已经紧急采购了10台服务器,增强网站后台,明天继续促销一天,一定让大家买到书”。即使在有成熟数据库伸缩性架构设计的前提下,进行一次数据库扩容也是件棘手的事,而京东只需要一个晚上就能搞定,让我对京东的技术实力刮目相看。 

第二天一上班,我的第一件事就是登录点击“购买”按钮后悲剧地发现页面还是“Service is too busy”。当天晚上,刘强东又发布了一条微博:“请信息部的同事喝茶”。还配了一张照片:一张大桌子,只有一杯茶,旁边放了一把刀…… 

 

我想京东信息部的同事绝对不是有意要捉弄他们的老板和客户,很可能是他们错误地判断了系统的瓶颈及伸缩性架构的困难,对老板做出了过度承诺,而这背后折射出的是他们对网站架构的本质缺乏了解。 

 

另一件事发生在2012年年初,当时的中国铁道部官方售票网站www.12306.cn在春运期间因为大量用户访问而崩溃,无法有效访问。12306作为一个运营不久的网站,缺乏大规模并发访问处理的经验,遇到一些问题其实不奇怪,不管花多少钱,经验教训都需要经历时间和挫折才能得到。奇怪的是,12306的架构师似乎对这种可能发生的大规模并发访问产生的问题完全没有一点概念,系统好像根本没有经过任何高并发场景下的性能评估和性能测试,就那么干脆利落地崩溃了,趴在那里长时间起不来。 

 

这两件事情促使我想写一本关于网站架构的书,阐述网站技术架构最基本的驱动力,基础的架构设计原理,以及架构方案选择的价值观。希望软件工程师们在解决问题之前,能够认真思考自己面对的真正问题究竟是什么,有哪些技术方案可以选择,其基本原理是什么。所以这本书里没有高深的算法和聱牙诘屈的公式,也很少有程序代码。读者可以把本书当作网站架构设计的科普书,即使对网站架构没有什么了解,也能够比较轻松地阅读。 

 

文章评论

60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员必看的十大电影
程序员必看的十大电影
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
如何成为一名黑客
如何成为一名黑客
那些争议最大的编程观点
那些争议最大的编程观点
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员都该阅读的书
程序员都该阅读的书
10个调试和排错的小建议
10个调试和排错的小建议
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员应该关注的一些事儿
程序员应该关注的一些事儿
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
每天工作4小时的程序员
每天工作4小时的程序员
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
中美印日四国程序员比较
中美印日四国程序员比较
 程序员的样子
程序员的样子
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
编程语言是女人
编程语言是女人
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
一个程序员的时间管理
一个程序员的时间管理
代码女神横空出世
代码女神横空出世
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员和编码员之间的区别
程序员和编码员之间的区别
我的丈夫是个程序员
我的丈夫是个程序员
我是如何打败拖延症的
我是如何打败拖延症的
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
漫画:程序员的工作
漫画:程序员的工作
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
Java程序员必看电影
Java程序员必看电影
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
老程序员的下场
老程序员的下场
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有