04 2014 档案

摘要:原文:http://blog.sina.com.cn/s/blog_6203dcd60100y9r7.html 【第十三阶段 :分布式计算和存储的运维设计与考虑】 以上的部分已经从前到后的将系统架构进行了描述,同时针对我们会遇到的问题进行了分析和处理,提出了一些解决方案,以保证我们的系统在不断... 阅读全文
posted @ 2014-04-30 17:36 奋斗终生 阅读(418) 评论(0) 推荐(0)
摘要:原文:http://blog.sina.com.cn/s/blog_6203dcd60100y2gd.html 【第十二阶段 :传输协议、接口、远程调用】 这一部分主要谈谈关于协议、接口和远程调用相关的内容。本来这一部分应该在之前就有比较详细的讨论,不过我放到后面来,足见其重要性。特别是在系统... 阅读全文
posted @ 2014-04-30 17:34 奋斗终生 阅读(293) 评论(0) 推荐(0)
摘要:原文:http://blog.sina.com.cn/s/blog_6203dcd60100y1vi.html 【第十一阶段 :命名位置服务】 在前面我们不止一次提到了命名位置服务(Naming & Location Service)。在不同的架构或者公司里面,这个名字往往不一样,比如,在ja... 阅读全文
posted @ 2014-04-30 17:33 奋斗终生 阅读(301) 评论(0) 推荐(0)
摘要:原文:http://blog.sina.com.cn/s/blog_6203dcd60100xyad.html 【阶段性小结】 经过了上述的架构扩展和优化以后,我们的系统无论是从前端接入,还是后端存储都较最初的阶段有了质的变化。这样的架构足以支撑起10亿级别的流量和10亿级别的数据量。我们具体的... 阅读全文
posted @ 2014-04-30 17:32 奋斗终生 阅读(352) 评论(0) 推荐(0)
摘要:原文:http://blog.sina.com.cn/s/blog_6203dcd60100xvky.html 【第十阶段 : 数据存储优化】 在前面的阶段中,我们都使用数据库作为默认的存储引擎,很少谈论关于关于数据存储的话题。但是,数据的存储却是我们现在众多大型网站面临的最核心的问题。现在... 阅读全文
posted @ 2014-04-30 17:30 奋斗终生 阅读(345) 评论(0) 推荐(0)
摘要:原文:http://blog.sina.com.cn/s/blog_6203dcd60100xurh.html 【第九阶段 : 逻辑关联和层次划分】 在第七阶段的时候,我们提到了几个问题,其中有一个就是业务关联问题。当我们将业务拆分以后,多个业务之间没有了耦合(或者是极弱的耦合),能够独立的... 阅读全文
posted @ 2014-04-30 17:28 奋斗终生 阅读(314) 评论(0) 推荐(0)
摘要:原文:http://blog.sina.com.cn/s/blog_6203dcd60100xthv.html 【第八阶段 : WebServer多机化】 上面说了这么多,我们的业务都基本上运转在只有一个WebServer的条件下。如果出现宕机,所有服务就停掉了;如果压力大了,单机不能承载了,... 阅读全文
posted @ 2014-04-30 17:27 奋斗终生 阅读(312) 评论(0) 推荐(0)
摘要:原文:http://blog.sina.com.cn/s/blog_6203dcd60100xon9.html 【第七阶段 : 拆分】 到上面一个阶段,我们初步接触到了逻辑、存储等的多机模式。这样的结构,对于逻辑不是特别复杂的网站,足以撑起千万级的压力。所以大多数网站,只要能够用好上面的结... 阅读全文
posted @ 2014-04-30 17:25 奋斗终生 阅读(389) 评论(0) 推荐(0)
摘要:原文:http://blog.sina.com.cn/s/blog_6203dcd60100xokd.html 【第四阶段 : 第一次服务多机化】 当IO性能得到解决以后,我们可能就会面临CPU瓶颈,即程序处理不过来了。那这个时候,最好的方式,就是优化程序。从整体架构和具体业务逻辑上去分析并... 阅读全文
posted @ 2014-04-30 17:23 奋斗终生 阅读(352) 评论(0) 推荐(0)
摘要:add by zhj:非常完整的介绍了一个网站从小到大,后台的设计及服务器的部署的演进过程,太牛了。原文:http://blog.sina.com.cn/zgwangbo001话说今天是清明节假期第一天,早上早早的和朋友开车逃离了帝都。现在正在G104上缓慢的爬行。言归正传,计划了很久写这篇文章,不... 阅读全文
posted @ 2014-04-30 17:20 奋斗终生 阅读(546) 评论(0) 推荐(0)
摘要:add by zhj:目前用的最多应该是模式二,其次是三、四,而模式五比较新,我自己也不太懂。模式二--前后台交互的方式为整个页面,即每次请求,服务器都将HTML模板渲染后发给客户端,每次请求都返回整个HTML增加了后台服务器的负担。模式三、四--将HTML与其中的动态数据分开,动态资源则是通过AJ... 阅读全文
posted @ 2014-04-26 04:04 奋斗终生 阅读(577) 评论(0) 推荐(0)
摘要:add by zhj:面向切面编程就是在不修改函数A的前提下,在函数A前后插入业务逻辑B, C, D..。这其实算是功能分解,将大模块S=A+B+C+D+……分解为独立的小功能A,B,C,D……,模块化可使得功能复用、低耦合,不过这种分解也不是粒度越细越好。原文:http://blog.zoneke... 阅读全文
posted @ 2014-04-15 13:28 奋斗终生 阅读(615) 评论(0) 推荐(0)
摘要:add by zhj: 装饰器的作用是将代码中可以独立的功能独立出来,实现代码复用,下面那个用于统计函数运行时间的装饰器就是很好的例子,我们不用修改原有的函数和调用原有函数的地方,这遵循了开闭原则。装饰器可以用函数和类来实现。我个人感觉类比较好,它可以消除一层内嵌函数,尤其是当在内嵌函数中使用了外层... 阅读全文
posted @ 2014-04-15 12:28 奋斗终生 阅读(953) 评论(0) 推荐(0)
摘要:原文:http://zhuoqiang.me/python-thread-gil-and-ctypes.htmlGIL 与 Python 线程的纠葛GIL 是什么东西?它对我们的 python 程序会产生什么样的影响?我们先来看一个问题。运行下面这段 python 程序,CPU 占用率是多少?# 请... 阅读全文
posted @ 2014-04-09 14:48 奋斗终生 阅读(792) 评论(0) 推荐(1)
摘要:英文原文:http://blog.monitis.com/index.php/2012/02/13/python-performance-tips-part-1/英文原文:http://blog.monitis.com/index.php/2012/03/21/python-performance-tips-part-2/翻译原文:http://www.oschina.net/question/1579_45822第一部分 阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Pyt 阅读全文
posted @ 2014-04-09 14:11 奋斗终生 阅读(269) 评论(0) 推荐(0)
摘要:原文:http://blog.sina.com.cn/s/blog_8a18c33d010182ts.html一、 处理过程的核心概念如下图所示django的总览图,整体上把握以下django的组成:核心在于中间件middleware,django所有的请求、返回都由中间件来完成。中间件,就是处理H... 阅读全文
posted @ 2014-04-08 22:56 奋斗终生 阅读(877) 评论(0) 推荐(0)
摘要:add by zhj: 在原文的基础上有修改原文:http://www.cnblogs.com/gaott/archive/2012/02/28/2371238.html上一期完理解了WSGI处理思路,现在看看django是如何实现这个接口的。django.core.handlers在此模块中着重看... 阅读全文
posted @ 2014-04-04 15:23 奋斗终生 阅读(603) 评论(0) 推荐(0)
摘要:add by zhj:第二段代码有修改原文:http://www.cnblogs.com/gaott/archive/2012/02/28/2371181.html前言Django是一个开放源代码的Web应用框架,她像一个工具箱,包括了整个web开发中的各种技术,例如ORM,Template等。这是... 阅读全文
posted @ 2014-04-04 12:47 奋斗终生 阅读(458) 评论(0) 推荐(0)
摘要:add by zhj 是我增加的注释原文:http://www.cnblogs.com/holbrook/archive/2012/03/09/2387679.html我们都用过Django的django-admin.py和manage.py。 django-admin.py是一个命令行工具,可以执... 阅读全文
posted @ 2014-04-03 16:16 奋斗终生 阅读(3392) 评论(0) 推荐(1)
摘要:add by zhj: 说到yield,就要说说迭代器、生成器、生成器函数。迭代器:其实就是一个可迭代对象,书上说迭代器,我个人不喜欢这个说法,有点晦涩。可迭代对象基本上可以认为是有__iter__()和next()方法的对象,尽管这个定义并不严谨。生成器:其实也是一个可迭代对象,但它是一种特殊的可迭代对象(即特殊的迭代器)。它的特殊性在于它是通过中断的形式实现next(),无需对象本身保存状态,另外生成器还有 send(),throw()等方法,这是迭代器没有的。迭代器是调用next()方法后就直接return了,状态需程序员保存在迭代器对象中,下次再调用时知道从哪里开始。而生成器 调用ne 阅读全文
posted @ 2014-04-01 17:36 奋斗终生 阅读(404) 评论(0) 推荐(0)