`
whilew
  • 浏览: 22179 次
文章分类
社区版块
存档分类
最新评论

diamond专题(四)—— 容灾机制

 
阅读更多

原文地址: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的实现细节。

分享到:
评论

相关推荐

    数据中心——容灾备份传输解决方案

    数据中心容灾备份传输解决方案是目前金融行业,以及IT行业、互联网行业和通信行业的重要需求。这种解决方案能够在主数据中心发生突发灾难停止工作时,由灾备数据中心迅速接管业务,以减少或避免灾难事件发生时所造成...

    VMware Virtualization Forum 2009 “业务持续性和灾难恢复”分会场 ——备份容灾与虚拟化平台的搭配与成功案例

    VMware Virtualization Forum 2009 “业务持续性和...——备份容灾与虚拟化平台的搭配与成功案例 演讲嘉宾:范嘉泰 Doubletake高级系统工程师 (若要下载大会其他部分,点击 标签“2009VMware虚拟化论坛”,即可看到)

    本地集群容灾方案

    四、本地集群容灾的优势 1. 提高可用性:通过冗余和故障切换,减少服务中断时间。 2. 降低风险:容灾策略能应对硬件故障、软件错误和自然灾害等多种风险。 3. 提升性能:负载均衡可有效利用所有资源,提高系统处理...

    四种容灾技术对比解析.pdf

    本文主要对比分析了四种常见的容灾技术:基于应用层容灾、基于卷管理层容灾、基于存储复制的容灾以及基于数据库复制的容灾。 1. 基于应用层容灾技术: 这种技术通过应用层交易分发,将交易数据实时传送到容灾中心,...

    容灾白皮书-知己知彼百战不殆

    因此,建立有效的容灾机制成为保障企业生存和发展的必要条件。 三、容灾等级与策略 容灾系统通常分为不同等级,如RPO(Recovery Point Objective)和RTO(Recovery Time Objective)。RPO定义了灾难发生时可接受的...

    Zookeeper双机房容灾方案.pdf

    Zookeeper双机房容灾方案.pdf Zookeeper双机房容灾方案是指在分布式系统中使用Zookeeper来实现高可用性和容灾的方案。...通过Zookeeper选举机制、数据同步机制和节点状态信息,可以实现高可用性和容灾。

    容灾技术文献集

    "一种数据库容灾系统的设计与实现.pdf"可能详细阐述了构建数据库容灾系统的过程,包括系统架构、数据同步策略和故障切换机制。 7. **容灾技术概览**: "容灾技术概览.pdf"可能是对各类容灾技术的综合介绍,包括...

    容灾白皮书

    《容灾白皮书》是IT领域内一份重要的文献,主要阐述了在信息化时代背景下,企业如何构建有效的灾难恢复机制,以确保业务连续性和数据安全。这份白皮书深入探讨了容灾的基本概念、策略、技术和实施步骤,为企业提供了...

    异地容灾备份智慧容灾网络安全数据中心方案.doc

    异地容灾备份智慧容灾网络安全数据中心方案 异地容灾备份智慧容灾网络安全数据中心方案是指通过建立异地容灾备份中心,以确保数据的安全性和可用性,防止数据丢失或损坏。该方案主要涵盖以下几个方面的知识点: 一...

    容灾技术概念

    综上所述,容灾技术是企业信息化建设中不可或缺的一环,通过合理的规划和实施,能够有效保护企业的核心资产——数据,同时确保业务的连续性和稳定性。在数字化时代,掌握和应用容灾技术对于任何组织来说都具有深远的...

    H3C 容灾技术专题汇报-2008

    ### H3C 容灾技术专题汇报-2008 #### 一、认识容灾 容灾技术作为确保业务连续性和数据安全的关键措施,在信息化社会中占据着极为重要的地位。容灾技术主要指的是在面临各类灾害时能够保护业务不受影响,并确保数据...

    系统容灾,常用方案总结

    #### 四、实现容灾的基本原理 实现容灾的主要方法之一是通过设置主备服务器,并采用虚拟IP(Virtual IP, VIP)机制。具体步骤如下: - 在两台服务器上配置同一个虚拟IP地址; - 主服务器先绑定虚拟IP地址; - 当主...

    业务连续性容灾-主备容灾方案白皮书.pdf

    "业务连续性容灾-主备容灾方案白皮书" 业务连续性容灾是指在灾难或故障情况下,业务系统能够继续运行,避免业务中断的能力。主备容灾方案是业务连续性容灾的一种解决方案,通过在两个或多个数据中心之间实现数据...

    容灾备份技术架构浅析

    ### 容灾备份技术架构浅析 随着我国电子政务建设的深入发展,越来越多的关键业务运行在电子政务平台上,包括政府门户网站、网上行政审批中心等政府业务系统以及“金保工程”等涉及广大民众切身利益的公众业务系统。...

    容灾&RTO&RPO

    容灾&RTO&RPO之间的平衡 容灾系统是指企业为了保护自己的数据和应用程序,而建立的一种系统,以防止灾难的发生和减少灾难的影响。容灾系统的设计指标主要与容灾系统的数据恢复能力有关,最常见的设计指标有 RTO 和 ...

Global site tag (gtag.js) - Google Analytics