摘要:
1. PlentyOfFish 网站架构学习http://www.dbanotes.net/arch/plentyoffish_arch.html采取 Windows 技术路线的 Web 2.0 站点并不多,除了 MySpace ,另外就是这个PlentyOfFish。这个站点提供 “Online Dating”服务。一个令人津津乐道的、惊人的数据是这个只有一个人(创建人Markus Frind)的站点价值 10 亿,估计要让很多人眼热,更何况Markus Frind 每天只用两个小时打理网站–可操作性很强嘛。2. 从LiveJournal后台发展看 大型网站系统架构以及性能优化方法http: 阅读全文
摘要:
之前我在一篇blog中有提到一个例子,http://blog.csdn.net/lovingprince/archive/2008/08/21/2807986.aspx ,我称之为业务事务,其实可能定义有点偏颇,不过表达的意思很明确,即使用业务的方法来保证最终数据一致性,尽量避免使用分布式事务。这几天我看到一篇文章,恍然大悟,才明白原来这种思想本来早就有了它的专业术语:BASE. 这里我来和大家分享一下,BASE其实是下面三个术语的缩写: 基本可用(Basically Available) 软状态(Soft state) 最终一致(Eventually consistent) 它的思想是通.. 阅读全文
摘要:
Velociy 1.6新增了一些非常有用的指令和功能,并修复了一些bug,用起来的确方便多了。这里我将列举一些我们能够直观感受得到的一些change.TYPE CHANGEeg.ADD增加#define指令 定义可以引用的VTL渲染块 #define( $foo )Hello, $bar!#end #set( $bar = 'world') $foo 输出: Hello, world!ADD增加可以跳出#foreach循环的#break指令#foreac($a in $list) #if($a==1) #break #end#endADD增加#foreach指令中使用的VTL语 阅读全文
摘要:
人们对软件架构存在非常多的误解,其中一个最为普遍的误解就是:将架构(Architecture)和框架(Framework)混为一谈。 框架是一种特殊的软件,它并不能提供完整无缺的解决方案,而是为你构建解决方案提供良好的基础。框架是半成品。典型地,框架是系统或子系统的半成品;框架中的服务可以被最终应用直接调用,而框架中的扩展点是供应用开发人员定制的“可变化点”。 软件架构不是软件,而是关于软件如何设计的重要决策。软件架构决策涉及到如何将软件系统分解成不同的部分、各部分之间的静态结构关系和动态交互关系等。经过完整的开发过程之后,这些架构决策将体现在最终开发出的软件系统中;当然,引入软件框架之... 阅读全文
摘要:
前面已经说过负载均衡的作用是在多个节点之间按照一定的策略(算法)分发网络或计算处理负载。负载均衡可以采用软件和硬件来实现。一般的框架结构可以参考下图。 后台的多个Web节点上面有相同的Web应用,用户的访问请求首先进入负载均衡分配节点(可能是软件或者硬件),由它根据负载均衡策略(算法)合理地分配给某个Web应用节点。每个Web节点相同的内容做起来不难,所以选择负载均衡策略(算法)是个关键问题。下面会专门介绍均衡算法。 web负载均衡的作用就是把请求均匀的分配给各个节点,它是一种动态均衡,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把请求理分配出去。对于不同的应用环境(如电子商务网. 阅读全文
摘要:
Web集群是由多个同时运行同一个web应用的服务器组成,在外界看来就像一个服务器一样,这多台服务器共同来为客户提供更高性能的服务。集群更标准的定义是:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理,此单一系统为客户工作站提供高可靠性的服务。 而负载均衡的任务就是负责多个服务器之间(集群内)实现合理的任务分配,使这些服务器(集群)不会出现因某一台超负荷、而其他的服务器却没有充分发挥处理能力的情况。负载均衡有两个方面的含义:首先,把大量的并发访问或数据流量分担到多台节点上分别处理,减少用户等待响应的时间;其次,单个高负载的运算分担到多台节点上做并行处理,每个节点设备处理. 阅读全文
摘要:
转自:http://rdc.taobao.com/blog/dba/html/216_rac_load_balance.html作者:流云转注: 这些都出自于淘宝DBA团队之手,供大家分享下RAC的负载均衡主要是指新会话连接到RAC数据库时,如何判定这个新的连接要连到哪个节点进行工作。在RAC中,负载均衡分为两种,一种是基于客户端连接的,另外一种是基于服务器端的。客户端的负载均衡配置相对简单,只需要在tnsnames.ora中添加LOAD_BALANCE=ON这么一个选项即可。比如下面的TNS:RAC = (DESCRIPTION = (ADDRESS = (PROTOCO... 阅读全文
摘要:
转自:http://rdc.taobao.com/blog/dba/html/124_oracle_data_transfer.html作者:丁原对于高并发oltp系统,生产库可能只需保留当前几个月的数据,之前的数据要全部迁移到历史库中。那么,如何处理这样的需求,如何写合适的历史迁移程序呢?1.常规写法begin --迁移数据 insert into tb_users select * from tb_users_dbc a where gmt_modified <= trunc(sysdate) - v_day and rownum<5000000; --删除原表数据 delet 阅读全文
摘要:
/***@classDOM工具类,提供了一些方便的函数页面元素的一些操作*@constructor*@returnDomUtils*/functionDomUtils(){}/***从待选列表移动一项到已经选择列表*@param{Object}fbox-待选项目列表*@param{Object}tbox-选择了的项目列表*@param{string}fmsg-提示信息(待选项目列表无数据...)*@param{string}tmsg-提示信息(请选择数据....)*@version1.0适用范围:IE6.0/opera8.5/firefox1.5**/DomUtils.move=functio 阅读全文
摘要:
/***@classDOM工具类,提供了一些方便的函数页面元素的一些操作*@constructor*@returnDomUtils*/functionDomUtils(){}/***从待选列表移动一项到已经选择列表*@param{Object}fbox-待选项目列表*@param{Object}tbox-选择了的项目列表*@param{string}fmsg-提示信息(待选项目列表无数据...)*@param{string}tmsg-提示信息(请选择数据....)*@version1.0适用范围:IE6.0/opera8.5/firefox1.5**/DomUtils.move=functio 阅读全文