闲聊数据库高可用容灾规划设计
副标题[/!--empirenews.page--]
一个系统可能包含很多模块,如数据库、前端、缓存、搜索、消息队列等,每个模块都需要做到高可用,才能保证整个系统的高可用。对于数据库服务而言,高可用的实现可能更加复杂,对用户的服务可用,不仅仅是能访问,还需要有正确性保证,因此讨论数据库的高可用方案时,在容灾之外,还要同时考虑方案中数据一致性问题。 一、高可用数据库概述 1. 什么是高可用数据库? 高可用数据库是由一系列数据库构成的总体系统,在任何时刻,至少有一个节点可以接受用户的请求并提供数据库服务。大多数数据库架构中,有一个主节点处理主要请求,还有若干备用节点用于容灾切换,当主节点不能提供服务时,备用节点成为主节点继续提供服务,用以保证整个系统的可用和稳定。 2. 高可用数据库有很多优点:
3. 高可用数据库设计 一般,高可用数据库架构设计时,也需要考虑三个问题:
二、业界高可用架构方案 业界典型的高可用架构可以划分为四种: 1. 共享存储。 共享存储是指若干DB服务使用同一份存储,一个主DB,其他的为备用DB,若主服务崩溃,则系统启动备用DB,成为新的主DB,继续提供服务。一般共享存储采用比较多的是SAN/NAS方案,这种方案的优点是没有数据同步的问题,缺点是对网络性能要求比较高。 2. 操作系统实时数据块复制。 这种方案的典型场景是DRBD。如下图所示,左边数据库写入数据以后立即同步到右边的存储设备当中。如果左边数据库崩溃,系统直接将右边的数据库存储设备激活,完成数据库的容灾切换。这个方案同样有一些问题,如系统只能有一个数据副本提供服务,无法实现读写分离;另外,系统崩溃后需要的容灾恢复时间较长。 3. 数据库主从复制。 这种方案是较经典的数据同步模式,系统采用一个主库和多个从库,主库同步数据库日志到各个从库,从库各自回放日志。它的好处是一个主库可以连接多个从库,能很方便地实现读写分离,同时,因为每个备库都在启动当中,所以备库当中的数据基本上都是热数据,容灾切换也非常快。 4. 数据库高可用集群。 前面三种是通过复制日志的模式实现高可用,第四种方案是基于一致性算法来做数据同步。数据库提供一种多节点的一致性同步机制,然后利用该机制构建多节点同步集群,这是业界近年来比较流行的高可用集群的方案。 三、数据库容灾规划 一般数据容灾会实现两地两个数据中心,1 主 2 从数据容灾架构,并建立数据库日常数据灾备体系。但为了提高 IT 服务管理水平,企业用户需要构建新一代多活系统规划设计总体目标:实现数据 0 丢失,同时满足在任何灾难情况下实现 30 分钟恢复对外数据服务。主要结合当前主流容灾、灾备技术与企业未来 5 年内,多地数据中心建设进行整体容灾与灾备建设规划、容灾演练、自动化监控与管理规划。 1. 服务连续性规划 衡量连续性水平主要指标是恢复时间目标(RTO)和恢复点目标(RPO)。
结合当前 XXX 实际现状目前规划 2 个级别连续性等级规划: 2. 技术选型规划 3. 自动化管理平台规划 通过数据库自动化管理平台中容灾&灾备监控管理中心可以实现对多个数据中心全局数据容灾、数据灾备的情况进行整体拓扑监控与管理。并且 为了保证数据容灾、数据灾备有效性对数据同步延迟、数据传输流量根据数据中心的链路带宽分配情况定制对应的告警监控。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |