系统热备,是系统容灾设计过程中常用的手段,下面就分享两种系统热备方法,以及其优缺点的对比:
热备方案一(如下图所示):
该方案的基本原理为:把所有写请求由统一的接入层(Handle层)转发给DataServer,特定的DataServer对发送给其的写请求进行运算处理。所有的读请求都直接由DataServer提供。另外,DataSever的机器可以进行冗余设计,如上图中的DataServerB,这样可以更好的保证系统服务的可用性。
方案一的优点:扩容比较方便,需要扩容时,只需要更改接入层配置(修改路由分发规则),然后再增加DataServer的机器即可。
方案一的缺点:DataServer中数据运算逻辑是否成功,接入层并不知道,因此,如果两台互为备份机的DataServer中有一台运行数据运算逻辑失败,就可能造成两台机器上的数据的不一致。因此,需要备份机之间进行对帐来保证数据一致性。
热备方案二(如下图所示):
该方案的基本原理是:所有的写请求由Master服务器运算处理,然后把运行结果通知对应的Slave服务器。所有的读请求都由Slave服务器响应。另外,Slave也可以进行冗余设计。
方案二的优点:数据的运算逻辑由Master服务器处理,处理完再将结果发送给Slave。这样就能很好地保证Slave中备份机之间数据的一致性。
方案二的缺点:写请求都由Master处理,这样要对系统进行扩容不是很方便。
具体使用过程中,要采用哪种方案,可以根据具体情况进行分析,选择合适自己应用环境的方案。