原文:http://blog.sina.com.cn/s/blog_6203dcd60100xyad.html 【阶段性小结】 经过了上述的架构扩展和优化以后,我们的系统无论是从前端接入,还是后端存储都较最初的阶段有了质的变化。这样的架构足以支撑起10亿级别的流量和10亿级别的数据量。我们具体的... Read More
posted @ 2014-04-30 17:32 奋斗终生 Views(353) Comments(0) Diggs(0)
原文:http://blog.sina.com.cn/s/blog_6203dcd60100xvky.html 【第十阶段 : 数据存储优化】 在前面的阶段中,我们都使用数据库作为默认的存储引擎,很少谈论关于关于数据存储的话题。但是,数据的存储却是我们现在众多大型网站面临的最核心的问题。现在... Read More
posted @ 2014-04-30 17:30 奋斗终生 Views(347) Comments(0) Diggs(0)
原文:http://blog.sina.com.cn/s/blog_6203dcd60100xurh.html 【第九阶段 : 逻辑关联和层次划分】 在第七阶段的时候,我们提到了几个问题,其中有一个就是业务关联问题。当我们将业务拆分以后,多个业务之间没有了耦合(或者是极弱的耦合),能够独立的... Read More
posted @ 2014-04-30 17:28 奋斗终生 Views(316) Comments(0) Diggs(0)
原文:http://blog.sina.com.cn/s/blog_6203dcd60100xthv.html 【第八阶段 : WebServer多机化】 上面说了这么多,我们的业务都基本上运转在只有一个WebServer的条件下。如果出现宕机,所有服务就停掉了;如果压力大了,单机不能承载了,... Read More
posted @ 2014-04-30 17:27 奋斗终生 Views(317) Comments(0) Diggs(0)
原文:http://blog.sina.com.cn/s/blog_6203dcd60100xon9.html 【第七阶段 : 拆分】 到上面一个阶段,我们初步接触到了逻辑、存储等的多机模式。这样的结构,对于逻辑不是特别复杂的网站,足以撑起千万级的压力。所以大多数网站,只要能够用好上面的结... Read More
posted @ 2014-04-30 17:25 奋斗终生 Views(394) Comments(0) Diggs(0)
原文:http://blog.sina.com.cn/s/blog_6203dcd60100xokd.html 【第四阶段 : 第一次服务多机化】 当IO性能得到解决以后,我们可能就会面临CPU瓶颈,即程序处理不过来了。那这个时候,最好的方式,就是优化程序。从整体架构和具体业务逻辑上去分析并... Read More
posted @ 2014-04-30 17:23 奋斗终生 Views(354) Comments(0) Diggs(0)
add by zhj:非常完整的介绍了一个网站从小到大,后台的设计及服务器的部署的演进过程,太牛了。原文:http://blog.sina.com.cn/zgwangbo001话说今天是清明节假期第一天,早上早早的和朋友开车逃离了帝都。现在正在G104上缓慢的爬行。言归正传,计划了很久写这篇文章,不... Read More
posted @ 2014-04-30 17:20 奋斗终生 Views(546) Comments(0) Diggs(0)
add by zhj:目前用的最多应该是模式二,其次是三、四,而模式五比较新,我自己也不太懂。模式二--前后台交互的方式为整个页面,即每次请求,服务器都将HTML模板渲染后发给客户端,每次请求都返回整个HTML增加了后台服务器的负担。模式三、四--将HTML与其中的动态数据分开,动态资源则是通过AJ... Read More
posted @ 2014-04-26 04:04 奋斗终生 Views(586) Comments(0) Diggs(0)
add by zhj:面向切面编程就是在不修改函数A的前提下,在函数A前后插入业务逻辑B, C, D..。这其实算是功能分解,将大模块S=A+B+C+D+……分解为独立的小功能A,B,C,D……,模块化可使得功能复用、低耦合,不过这种分解也不是粒度越细越好。原文:http://blog.zoneke... Read More
posted @ 2014-04-15 13:28 奋斗终生 Views(618) Comments(0) Diggs(0)
add by zhj: 装饰器的作用是将代码中可以独立的功能独立出来,实现代码复用,下面那个用于统计函数运行时间的装饰器就是很好的例子,我们不用修改原有的函数和调用原有函数的地方,这遵循了开闭原则。装饰器可以用函数和类来实现。我个人感觉类比较好,它可以消除一层内嵌函数,尤其是当在内嵌函数中使用了外层... Read More
posted @ 2014-04-15 12:28 奋斗终生 Views(957) Comments(0) Diggs(0)