写点什么

YashanDB 主备高可用

作者:YashanDB
  • 2025-02-17
    广东
  • 本文字数:1148 字

    阅读完需:约 4 分钟

本文内容来自 YashanDB 官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E6%A6%82%E5%BF%B5%E6%89%8B%E5%86%8C/YashanDB%E4%BD%93%E7%B3%BB%E6%9E%B6%E6%9E%84/%E4%B8%BB%E5%A4%87%E9%AB%98%E5%8F%AF%E7%94%A8.html


主备复制是数据库最主要的高可用手段,通过将主库上的数据实时复制到备库来实现。主库是执行业务的数据库实例,备库是复制主库数据的数据库实例。当主库发生故障时,业务可以转移到备库上继续执行,降低故障对业务的影响,提高数据库的可用性。

#主备部署架构

YashanDB 支持主备模式(一主多备)和级联备模式(不限层级)的高可用部署架构。

主备实例部署在不同的服务器上,两台服务器一般应连接到同一交换机,确保网络低时延,并应考虑交换机的冗余配置,保证高可用避免单点故障。

级联备为异步备库,从备库接收日志,减少主库上的带宽负载,通常用于异地容灾中。

以下图为例:



  • 主库

    当前提供在线数据库服务,读写模式。

    分布式主备高可用部署中,每个 MN Group 和 DN Group 组内包含一个主库。

    共享集群主备高可用部署中,主库被扩展为主集群的概念,主集群中多实例同时提供在线数据库服务,均为读写模式。

  • 备库

    从主库接收日志并回放,只读模式,主库故障时从备库状态切换为主库状态,一个主库可以有多个备库。

    分布式主备高可用部署中,每个 MN Group 和 DN Group 组内包含一个或多个备库。

    共享集群主备高可用部署中,备库被扩展为备集群的概念,但只需要备集群中的 1 号实例进行日志接收和回放。

  • 级联备

    备库的备库,从备库接收日志并回放,一个备库可以有多个和多层级联备。当上级备库升为主库后,级联备转为普通备库;当主库变成备库后,它的备库变成级联备。

    分布式和共享集群主备部署中无级联备。

#主备复制链路

主备复制中,通过主库发送 redo 日志,备库接收日志并回放,以实现备库和主库的在线同步。YashanDB 采用环形 Log Cache 缓存 redo 日志,同步模式下日志发送和备库回放优先从缓存读取数据,提高速度。

日志回放是指备库通过重演主库发送过来的 redo 日志来恢复数据页面,以达到和主库的及时同步。当在 Log Cache 和 redo 文件中均未找到需要的数据时,将启动线程同步主库的归档日志文件到备库并从中查找所需数据,最大程度保障主备库的数据一致性。

主备库复制链路:



主备集群复制链路:



#主备切换

YashanDB 支持手动切换主备库和特定场景下无需外部干预的自动选主。

  • 手动切换

    支持 Switchover(主备库同步正常的情况)和 Failover(主库数据库损坏,或者由于系统损坏导致主库不可用的情况)两种模式的手动切换,更多详情请查阅主备切换

  • 自动选主

    根据不同的部署形态,YashanDB 实现了不同机制的自动选主,包括主备自动选主和 yasom 仲裁选主,降低运维复杂度。当主库发生异常不能对外服务时,系统根据相应的机制在备库中选出主库并自动执行主备切换,更多详情请查阅自动选主

发布于: 刚刚阅读数: 3
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB主备高可用_数据库_YashanDB_InfoQ写作社区