原文地址:http://rdc.taobao.com/team/jm/archives/1617
大家好,本次为大家带来diamond的容灾机制。 diamond之所以表现的稳定可靠,除了架构简单之外,另一个重要原因是diamond具有一套完备的容灾机制,容灾机制涉及到client和server两部分,主要包括以下几个方面:
1、server存储数据的方式。
server存储数据是“数据库 + 本地文件”的方式,集群间的数据同步我们在之前的文章中讲过(请参考专题二的原理部分),client订阅数据时,访问的是本地文件,不查询数据库,这样即使数据库出问题了,仍然不影响client的订阅。
2、server是一个集群。
这是一个基本的容灾机制,集群中的一台server不可用了,client发现后可以自动切换到其他server上进行访问,自动切换在client内部实现。
3、client保存snapshot
client每次从server获取到数据后,都会将数据保存在本地文件系统,diamond称之为snapshot,即数据快照。当client下次启动发现在超时时间内所有server均不可用(可能是网络故障),它会使用snapshot中的数据快照进行启动。
4、client校验MD5
client每次从server获取到数据后,都会进行MD5校验(数据保存在response body,MD5保存在response header),以防止因网络故障造成的数据不完整,MD5校验不通过直接抛出异常。
5、client与server分离
client可以和server完全分离,单独使用,diamond定义了一个“容灾目录”的概念,client在启动时会创建这个目录,每次主动获取数据(即调用getAvailableConfigInfomation()方法),都会优先从“容灾目录”获取数据,如果client按照一个固定的规则,在“容灾目录”下配置了需要的数据,那么client直接获取到数据返回,不再通过网络从diamond-server获取数据。同样的,在每次轮询时,都会优先轮询“容灾目录”,如果发现配置还存在于其中,则不再向server发出轮询请求。
以上的情形, 会持续到“容灾目录”的配置数据被删除为止。
根据以上的容灾机制,我们可以总结一下diamond整个系统完全不可用的条件:
1、数据库不可用。
2、所有server均不可用。
3、client主动删除了snapshot
4、client没有备份配置数据,导致其不能配置“容灾目录”。
同时满足以上4个条件的概率,在生产环境中是极小的。
以上就是diamond的容灾机制,接下来的专题文章会带大家一起探究diamond的实现细节。
分享到:
相关推荐
两地三中心——容灾备份传输解决方案、 金融数据中心容灾备份传输解决方案
VMware Virtualization Forum 2009 “业务持续性和...——备份容灾与虚拟化平台的搭配与成功案例 演讲嘉宾:范嘉泰 Doubletake高级系统工程师 (若要下载大会其他部分,点击 标签“2009VMware虚拟化论坛”,即可看到)
该文档来自OpenStack Days China 2016。奥思数据李明宇&华为李中华发表的题为“OpenStack的数据保护——备份及容灾” 的主题演讲,欢迎下载!
四种容灾技术对比解析.pdf
上海某保险公司目前已建立了完备的数据备份机制,但备份数据都存储在本地数据中心,一旦发生火灾或者其他自然灾害,数据安全将得不到有效的保障。...容灾系统的实现最好能利用现有的IP网络,并且具有灵活策略驱动机制。
这个是介绍本地的集群方案,有很多集群容灾方案方面参考价值
容灾白皮书
异地容灾备份智慧容灾网络安全数据中心方案.doc
教程名称: IBM容灾备份方案汇总【】IBM 2011数据保护解决方案.zip【】IBM-容灾白皮书.zip【】IBM存储容灾解决方案.zip【】IBM的三种异地容灾方案.zip【】IBM数据保护解决方案.zip【】IBM同城灾备解决方案建议书....
IBM 容灾技术白皮书 现在有最好的容灾技术白皮书
业务连续性容灾-主备容灾方案白皮书.pdf
容灾备份解决方案
异地容灾备份方案.pdf异地容灾备份方案.pdf异地容灾备份方案.pdf异地容灾备份方案.pdf异地容灾备份方案.pdf异地容灾备份方案.pdf
oracle容灾技术.
本方案设计的异地容灾系统,采用VERITAS NetBackup作为容灾备份管理软件。...本地数据中心和异地容灾中心之间的数据传输,利用“数字化东营”系统现有的千兆光纤链路,通过NetBackup软件提供的传输机制实现。
建立容灾系统的必要性 容灾介绍 XX电信现有系统 容灾解决方案 容灾趋势及国内外案例介绍 问与答
为了确保基于存储区域网络(Storage Area Network,SAN)的异地容灾系统在主系统发生意外灾难后实现同城异地的数据容灾,采用SAN作为数据存储模式,通过光纤通道将生产数据中心和备份数据中心连接起来,使用跨阵列磁盘镜像...
沈剑58技术委员会主席,介绍大型系统如何进行容灾设计保障系统安全
随着电子政务建设深入发展,越来越多的关键业务运行在电子政务平台上.业务系统的可用性和盟务数据的完整憾、...本文对予电予改务 宙下容灾备份的技术架构作了初步的分析、探讨 并就容灾备份系统建设提出了些关键指标。