设计模式与程序架构
波哥的技术积累
这个作者很懒,什么都没留下…
展开
-
互联网网站架构升级----分布式环境的构建
随着网络流量爆发式增长,几百人维护一个项目将是一个可怕的噩梦,业务拆分势在必行。拆分的业务形成一个个独立的系统,系统间的协调又变成了一个棘手的问题,所以维护这些系统间协调关系的分布式环境组件将发挥至关重要的作用。 由于拆分后的系统部署于不同机器的不同集群之中,系统间的协作要靠通信来解决,所以分布式环境组件必须解决数据流的问题。根据不同的场景,数据流又分构建于远程调用框架(如RMI、He转载 2012-04-11 20:58:18 · 984 阅读 · 0 评论 -
一亿个数排序的算法
有1亿个浮点数,请找出其中最小的10000个。提示:假设每个浮点数占4个字节,1亿个浮点数就要站到相当大的空间,因此不能一次将全部读入内存进行排序。问题分析:1) 1亿个浮点数,其数据大小为 400 M。如此规模的排序,首先想到分批处理。每次读取 1 000 000 个数据并进行快速排序。需要的内存空间为 1 000 000 * 4 = 4M。需要100 次这样的排序。2)完全没的规转载 2012-04-12 23:23:36 · 8316 阅读 · 0 评论 -
设计模式之责任链模式
1:责任链模式概述 《设计模式》中给它的定义如下:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链来传递请求,直到有一个对象处理它为止。 从定义上可以看出,责任链模式的提出是为了“解耦”,以应变系统需求的变更和不明确性。2:代码实现部分 2.1 Request类 代表一个请求类 pa原创 2012-04-30 11:16:46 · 741 阅读 · 0 评论 -
千万级pv高性能高并发网站架构与设计
高并发访问的核心原则其实就一句话“把所有的用户访问请求都尽量往前推”。如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部(指挥部就是数据库及分布式存储)。如:能缓存在用户电脑本地的,就不要让他去访问CDN。 能缓存CDN服务器上的,就不要让CDN去访问源(静态服务器)了。能访问静态服务器的,就不要去访问动态服务器。以此类推:转载 2012-04-18 17:54:56 · 1253 阅读 · 0 评论