首页 > 程序人生 > 两种系统热备方案

两种系统热备方案

系统热备,是系统容灾设计过程中常用的手段,下面就分享两种系统热备方法,以及其优缺点的对比:

热备方案一(如下图所示):
hot_bak1
该方案的基本原理为:把所有写请求由统一的接入层(Handle层)转发给DataServer,特定的DataServer对发送给其的写请求进行运算处理。所有的读请求都直接由DataServer提供。另外,DataSever的机器可以进行冗余设计,如上图中的DataServerB,这样可以更好的保证系统服务的可用性。

方案一的优点:扩容比较方便,需要扩容时,只需要更改接入层配置(修改路由分发规则),然后再增加DataServer的机器即可。
方案一的缺点:DataServer中数据运算逻辑是否成功,接入层并不知道,因此,如果两台互为备份机的DataServer中有一台运行数据运算逻辑失败,就可能造成两台机器上的数据的不一致。因此,需要备份机之间进行对帐来保证数据一致性。

热备方案二(如下图所示):
hot_bak2
该方案的基本原理是:所有的写请求由Master服务器运算处理,然后把运行结果通知对应的Slave服务器。所有的读请求都由Slave服务器响应。另外,Slave也可以进行冗余设计。

方案二的优点:数据的运算逻辑由Master服务器处理,处理完再将结果发送给Slave。这样就能很好地保证Slave中备份机之间数据的一致性。
方案二的缺点:写请求都由Master处理,这样要对系统进行扩容不是很方便。

具体使用过程中,要采用哪种方案,可以根据具体情况进行分析,选择合适自己应用环境的方案。

分类: 程序人生 标签: ,
  1. 2010年1月21日13:29 | #1

    学习了。顶一下。
    博主有空欢迎到我的站点看看。我的链接是:http://www.lao910.com,谢谢

  2. 2010年1月22日18:05 | #3

    楼主,你的文章打开很慢,不晓得是什么原因。

    • 2010年1月22日21:50 | #4

      这两天服务器有点问题~~

    • 2010年1月23日08:54 | #5

      昨天装了一个cache插件,应该速度有些提升了,你试一下,现在怎么样~~这年头,服务商的服务不好,只能通过软件自己来解决了呀,呵呵。

  3. raycheng
    2010年1月25日00:37 | #6

    感觉,方案一中的handler和方案二中的master好像一个接受写操作的代理一样。这个代理也需要考虑不能出现单点情况。
    另外,方案二中的master和slave之间的箭头应该是双向的吧,master既然要进行运算,也需要读数据呀。。。

    • 2010年1月25日21:06 | #7

      1.第一种方案中,handle是纯粹的接入层,相当于你所说的代理。第二种方案中逻辑都在master中。所以两种方案是有本质区别的。
      2.第二种方案,我没有说DB是放在Slave的,你没看明白吧。

      • raycheng
        2010年1月25日23:54 | #8

        master和handler的本质区别算是领悟了。这个也应该是你这篇文章所想要说的重点了—运算逻辑的集中,可以避免主备机器之间数据的不一致性。
        可是,运算逻辑集中在master上面,也会面临着数据计算所需要读取的数据变大的问题,这个如何解决呢?

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.