openGauss DCF

DCF

可获得性

本特性自openGauss 2.0.0版本开始引入。

特性简介

DCF(Distributed Consensus Framework,分布式共识框架)基于Paxos算法实现数据同步强一致。DCF模式开关开启后,DN可以支持基于Paxos协议的复制与仲裁能力。

客户价值

DN基于Paxos的自选主及日志复制,复制过程中支持压缩及流控,防止带宽占用过高。使用DCF可以提供日志复制、集群高可用等能力。DCF提供了自选主能力,支持少数派强起能力,日志复制支持动态流量调整。同时也提供了基于Paxos多种角色节点类型,并能进行调整。支持查询当前数据库实例的状态。

DCF是一款高性能、高度成熟可靠、易扩展、易使用的独立基础库,其他系统通过接口与DCF简单对接,就能够轻松拥有Paxos算法赋予的强一致、高可用、自动容灾等能力。

特性描述

  • DCF进行日志复制时,支持对日志进行压缩后再传输,减小对网络带宽的占用。
  • DCF支持SSL,包括TLS1.2和TLS1.3协议标准。当开启SSL时,DN默认将DCF配置为TLS1.2协议标准。
  • DCF支持5种TLS1.3的密码套件:TLS13-AES-256-GCM-SHA384、TLS13-CHACHA20-POLY1305-SHA256、TLS13-AES-128-GCM-SHA256、TLS13-AES-128-CCM-8-SHA256、TLS13-AES-128-CCM-SHA256。
  • DCF支持passive角色节点类型,passive节点不参与选举,只做日志的同步以及回放,该类型节点在高负载的情况下,日志同步会做流控。
  • DCF支持logger角色节点,logger节点可以参与选举和投票,但是只复制DCF的日志,不复制xlog,不进行redo。
  • DCF的follower和passive角色可以在线互换,即不中断业务的情况下,follower角色的节点转化为passive角色,passive角色的节点转化为follower。
  • DCF支持少数派强起能力,在数据库实例多数派故障的情况下,从正常的备DN中选择少数派模式强启成为主DN,其余正常的备DN从主DN复制日志。
  • DCF支持自选主能力,在原主DN故障的场景下,在保证数据一致性的前提下,剩余备DN自动选出新的主DN。
  • DCF支持策略化多数派能力,以多数派为前提,同时根据用户配置的AZ,保证AZ内至少有一个节点同步复制日志。
  • DCF支持手动模式,在手动模式下不自动仲裁,此模式下对接上层CM等管理组件做仲裁适配,DCF进行日志复制功能。
  • 支持DCF日志与DN日志合一存储,DCF多数派达成和DN仅存储一份日志,减少IO带宽占用,日志合一后日志刷盘的IO开销比两份日志下降20%+,优化性能。
  • 支持从Quorum模式切换到DCF模式,以及从DCF模式恢复到Quorum模式。切换过程中不需要重启数据库,做到数据不丢失,不影响业务。

特性增强

无。

特性约束

若使用此功能,DN最少三节点,在安装部署阶段需要开启DCF开关。在DCF模式下通过多数派选举,安装过程中如果故障节点数加build节点数达到多数派会导致集群安装失败,如在安装一主两备时,安装过程中一节点因内存不足导致安装失败,另外两节点正常启动,但随后备机会进行一次build,这时build节点加故障节点为2,达到多数派会导致集群安装失败,请在安装过程中检查内存和磁盘等资源是否充足。

若某个AZ配置了策略化多数派参数,当AZ内所有的节点均故障后,在对节点执行build相关的操作时,需要将该AZ配置从策略化多数派配置信息中移除。

与Quorum相比,DCF模式不支持的功能有:

  1. 不支持双集群容灾(不支持级联备)
  2. 不支持已有Quorum复制到DCF复制模式的在线升级
  3. 不支持备机读
  4. 不支持第三方仲裁(CM仲裁)
  5. 不支持自动降副本
  6. 不支持增量build

依赖关系

无。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/774051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python入门题:输入输出练习

以下是Python基础语法的练习,项目要求和代码如下: """ 例3:小精灵:你好,欢迎古灵阁,请问您需要帮助吗?需要or不需要? 你:需要 小精灵:请问你需…

图片照片怎么做成二维码?图片快速生成二维码的简单教学

随着互联网的快速发展,二维码作为现在很常用的一种内容载体方式,可以应用的场景越来越多,不管是用于企业宣传、产品介绍、问卷调查等类型的内容,都能够使用二维码的形式展示。二维码能够提供更加快捷的有效的推广效果,…

高阶数据结构 <红黑树>

本文已收录至《数据结构(C/C语言)》专栏! 作者:ARMCSKGT 目录 前言正文红黑树简介红黑树整体结构红黑树节点的定义红黑树主体类设计红黑树的插入函数情况一:变色情况二:变色旋转单旋情况双旋情况 完整插入代码 关于红黑树红黑树检…

系统安装(kuntaiR522 kvm安装)

(1)通过PC1 web连接Server2,给Server2安装rocky-arm64 CLI系统(语言为英文)。 首先是访问server2的IPMI口,访问192.168.2.10, 用户为Admin,密码为Admin@123 登录进去 以HTML5 集成控制台方式打开 插入U盘修改启动项安装系统

Floyd算法:浅显外表下的动态规划内核

很久没遇到Floyd算法的题目了,2642. 设计可以求最短路径的图类刚好是一个典型。在实现核心算法之余,顺便整理一下算法的内核。 Floyd-Warshall’s Algorithm Floyd-Warshall算法,简称Floyd算法,是“有向图非负权图的多源最短路”…

Selenium自动化测试面试题全家桶

1、什么是自动化测试、自动化测试的优势是什么? 通过工具或脚本代替手工测试执行过程的测试都叫自动化测试。 自动化测试的优势: 1、减少回归测试成本 2、减少兼容性测试成本 3、提高测试反馈速度 4、提高测试覆盖率 5、让测试工程师做更有意义的…

10个你必须知道的浏览器指纹检测工具,保护你的隐私安全

在当前的数字时代,个人隐私保护变得越来越重要,特别是对于互联网用户来说。有一种叫做“浏览器指纹”的技术,它能悄悄收集我们使用的浏览器和设备的各种细节信息。这本是为提供个性化服务,但对那些需要在不同平台同时管理多个账号…

python项目子模块配置

创建模块子应用 1.在项目中新建一个apps的目录,用于存放所有子模块应用 2.在apps包下创建所需应用 注册模块子应用 1.在主模块里面寻找到配置文件 2.在配置文件中找到 INSTALLED_APPS,添加相应路径apps.users Tips: 由于每次添加都要输入前缀apps.会…

C++|类封装、类的分文件编写练习:设计立方体类、点和圆的关系

文章目录 练习案例1:设计立方体类CPP代码 练习案例2:点和圆的关系CPP代码 代码总结类的分文件编写 练习案例1:设计立方体类 设计立方体类(Cube) 求出立方体的面积和体积 分别用全局函数和成员函数判断两个立方体是否相等。 CPP代码 class Cube { pub…

json数据封装和解析常用到的方法

json数据封装和解析常用到的方法 参考博客 将JSONObject对象解析为VO的方法(VO中的数据可以为任何类型) GsonBuilder gsonBuilder new GsonBuilder(); UFDataTypeDeserializer ufDeserializer new UFDataTypeDeserializer(); gsonBuilder.registerT…

kubernetes名称空间和资源配额

名称空间 一.名称空间概念二.Namespace使用场景三.名称空间基本操作1.创建Namespace两种方式2.Namespace资源限额 一.名称空间概念 Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。 这些虚拟集群被称为命名空间。 命名空间namespace是k8s集群级别的资…

Thread类中start方法和run方法的源码简单解读,联系和区别

我们可以打开idea,按住ctrl将光标移至所查方法上,单击右键,即可查看这两个方法的源码: 1. start方法源码 我们从上至下分析一下: 这个threadStatus是一个int型的变量来表示线程是否开始,0为没有开始,非0为开始,因此当threadStatus不为0时,会抛出非法开始线程的异常. group对象…

可怜的百度人

可怜的百度股民 注意,这里说的是持有百度股票的股民,不是百度,百度没啥好可怜的。 前天(3月25日)中午,财联社爆料百度和 Apple 达成合作,百度将为苹果今年发布的 iPhone16、Mac 系统和 iOS18 提…

气体放电的基本物理过程

本篇为本科课程《高电压工程基础》的笔记。 和固体液体介质相比,气体绝缘有不老化的有点,而且击穿后具有完全的绝缘自恢复特性,是绝缘部分的重点。 带电质点的产生与消失 中性气体不到点,但是由于宇宙射线和地壳中的放射性物质…

如何做好位移计保养和维修工作

当涉及到保养和维修位移计时,我们需要考虑一系列的因素,包括正确的使用方法、定期的保养程序以及必要的维修步骤。位移计是一种用于测量物体相对位置变化的仪器,因此其准确性和可靠性对于许多工程和科学应用至关重要。以下是一些关于如何保养…

React 18中hook函数详解之useRef

在上一篇文章《React 18中hook函数详解之useState和useEffect》介绍了react v16.8版本以后,引入的Hooks函数的一些概念,以及useState和useEffect的一些用法。本文将接着上一篇文章着重介绍Hook函数当中常用的另一个函数:useRef。 useRef 是一…

【前端面试3+1】01闭包、跨域、路由模式

一、对闭包的理解 定义: 闭包是指在一个函数内部定义的函数,并且该内部函数可以访问外部函数的变量。闭包使得函数内部的变量在函数执行完后仍然可以被访问和操作。 特点: 闭包可以访问外部函数的变量,即使外部函数已经执行完毕。…

2023最新版Android studio安装入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

目录 JDK安装与配置 一、下载JDK 二、JDK安装 三、JDK的环境配置 四、JDK的配置验证 Android studio安装 Android studio连接手机真机调试(以华为鸿蒙为例) 一、新建一个android项目 二、进入项目面板 三、配置Android Studio 四、安装手机驱…

抽象类和接口(1)(抽象类部分)

抽象类概念 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 此外还有抽象方法这个概念 …

拿到今日现货白银价格 如何开始分析?

很多投资者看到近期现货白银的强劲涨势,并且开户入场。但入场之后,他们发现对如何找到机会还不甚了解。比方说我们拿到今日现货白银价格要如何开始分析呢,很多新入场的投资者根本没有头绪,下面我们就来讨论一下相关的方法。 我们可…