AntDB 企业增强特性介绍——同步异步自适应流复制

news2024/9/17 7:08:39

AntDB 提供了 hot-standby 的能力,功能与 Oracle 11g 的active standby 类似。并且通过流复制的方式,大大地缩短了备份库与主库的事务间隔。

传统流复制分为同步和异步两种模式。同步复制,即主机的事务要等到备机提交成功后才会提交并结束事务,缺点是备机故障时,主机会一直宕机;异步复制,即指主机的事务完全不受备机的影响,缺点是主备机之间在高并发场景下数据会存在时延,无法做到实时强一致性。很多时候,数据安全、持续高可用和处理性能之间需要取得平衡。AntDB 在同步异步流复制基础上新增一种自适应流复制模式:采用同步模式时,当备机故障后,主备机之间自动切换成异步流复制模式不会造成主节点宕机。

AntDB 如何做到满足金融行业需要,达到 RTO 为 14 秒左右所做的系统设计,主要有如下几个方面。

1.流复制机制
AntDB 内核在流复制基础上实现了分布式跨平台内存级的流复制协议,以进行异构计算,通过流式事务处理机制可实现在高并发极限压力下主从节点间数据毫秒级同步延时,为业务的持续可用创造了底层有利条件,如图 3-10 所示。

流复制执行流程如下:
(1)启动主备机数据库服务。
(2)在备机上启动 startup 进程。
(3)备机启动 walreceiver 进程。
(4)walreceiver 进程向主节点发送连接请求,如果主节点没有运行,该进程会定期不断地尝试建立连接。
(5)主节点接收到连接请求后,启动 walsender 进程。walsender 进程和
walreceiver 进程建立物理连接。
(6)walreceiver 进程向主节点发送自己保存的最新 LSN 号。
(7)如果备节点的 LSN 号小于主节点的 LSN 号,walsender 进程向备机发送两个 LSN 之间产生变化的事务日志到备节点。备节点收到事务日志后开始进行回放(replay),直到追平主节点。
(8)后续主节点的变化会通过实时流的方式发送到备节点。一旦 commit
成功,postgres 进程会通知 walsender 进程从 walbuffers 中读取最新变化的数据发送到备节点。

除了支持流式数据复制之外,还支持多种数据同步模式,如同步、异步、半同步和多数派提交协议,且可以多种同步模式组合实现层层级联复制,满足远程和本地等多样的数据同步需求,如图 3-11 所示。

AntDB 内置了流复制的一些管理工具和系统视图,方便对流复制过程进行管理和监控,比如通过 pg_stat_replication 系统视图可以查看当前流复制的状态, 如图 3-12 所示。

2.自适应切换
在 AntDB 内核实现中,当同步 slave 节点出现异常后,主节点接收不到备机的确认消息会导致主节点无响应,一直不返回消息,造成客户端无法为业务继续提供写服务,不符合业务连续性保障的设计。参考 Oracle 最大保护、最大性能、最大可用之间的自适应切换设计,AntDB 也提供了类似的内核实现,解决了备节点异常后业务依然可持续,如图 3-13 所示。

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

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

相关文章

2023-6-12-第三式单例模式

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥 💟💟喜欢的朋友可以关注一下&#xf…

前端vue可以左右滚动的切换的tabs tabs选项卡 滑动动画效果 自动宽度

前端vue可以左右滚动的切换的tabs tabs选项卡 滑动动画效果 自动宽度, 下载完整代码请访问https://ext.dcloud.net.cn/plugin?id13003 效果图如下: #### 使用方法 使用方法 swiperTabList: ["2023-06-10","2023-06-11","2023-06-12","2…

ICASSP 2023丨基于 CTC 的模型改进,实现更强的模型结构

分享一篇网易智企易盾 AI Lab 团队在ICASSP 2023被收录的语音识别方向的论文《Improving CTC-based ASR Models with Gated Interplayer Collaboration(基于 CTC 的模型改进,实现更强的模型结构)》 论文地址:https://arxiv.org/ab…

UnityVR--组件10--UGUI简单介绍

目录 前言 UI基础组件 1. Canvas 2. EventSystem 3. Image 4. Text/TextMeshPro/InputField 5. Button控件 其他 前言 UGUI是Unity推出的新的UI系统,它与Unity引擎结合得更紧密,并拥有强大的屏幕自适应和更简单的深度处理机制,更容易使用和…

从零开始:安装H2数据库的步骤解析

在开发或编写示例时,有时需要用到数据库,如果本机上刚好没有安装,类似有些同学是临时借用的电脑或学校的电脑刚好没有安装时,我们可以使用H2数据库来快速代替,即方便又灵活。 安装和使用H2数据库的步骤如下&#xff1a…

【vue3】11-Vue 3中的Composition Api(一)

Vue3 - composition Api 前言options Api的弊端 认识composition ApiSet up函数的基本使用set up函数的参数set up函数的返回值 Set up中数据的响应式1. Reactive API2. Ref API3. ref和reactive的开发 setup中的其他函数(了解)setup中禁用this 前言 op…

Ansible自动化运维工具的初步了解及模块使用

1.Ansible的相关知识 1.1 Ansible工具的了解 Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。Ansible能…

tp6安装并使用rabbitMQ

最近因为业务需要,要用到MQ就去研究了一下,说实话,安装环境给我搞自闭了,大概是我太菜 刚开始使用yum换源,各种安装卸载始终找不到自己要用的版本,后来全部卸载,下载安装包 编译安装解百忧 我用的是erlang 25.3 的版本,MQ使用的是3.11.3的版本,符合官方要求,这里的版本是有强…

智能果树叶部疾病识别实践,基于HOG+SVM和轻量级的CNN模型分别开发构建苹果果树叶部疾病识别分析系统

在农业领域中,将机器学习和深度学习模型结合应用有着广泛的实用意义,在这块相关的实践中以往的项目开发实践则是主要集中在农作物种植相关的,今天本文的主要目的就是开发构建果树叶部疾病识别分析系统,这里是以苹果果树叶部疾病数…

springcloud环境搭建

目录 1、创建一个父项目 ​编辑 2、创建子项目 2.1创建订单系统-order ​编辑 2.2创建库存系统-stock 3、创建rest服务 3.1添加web依赖 3.2编写controller 3.3订单中需要调用库存中的扣减库存的接口 通过idea开发工具进行搭建 1、创建一个父项目 通过spring initializr…

Django基础入门:后台管理 超级用户 数据表注册操作③

Django基础入门:后台管理 超级用户 数据表注册操作③ Django Admin数据表后台管理超级用户数据表注册admin操作日志 🏘️🏘️个人简介:以山河作礼。 🎖️🎖️:Python领域新星创作者,CSDN实力新星…

使用randoop自动化生成测试用例

1. 综述 使用randoop自动化生成测试用例 2. 操作 下载randoop的jar包;将jar包和所要测试的类(如Calculate.class)放在同一个文件夹;在此文件夹打开命令行提示符,输入如下命令: java -ea -classpath .;ra…

嵌入式Linux驱动开发 05:阻塞与非阻塞

文章目录 目的基础说明开发准备驱动程序应用程序 O_NONBLOCK应用程序驱动程序程序演示 poll应用程序驱动程序程序演示 异步通知应用程序驱动程序程序演示 总结 目的 不管在应用开发还是驱动开发中阻塞和非阻塞都是绕不开的话题。这篇文章将介绍相关的基础内容。 这篇文章中内…

Redis命令-认识NoSQl和Redis常见的通用命令

1. 认识NoSQL 非关系型数据库 NoSQL是指一类非关系型数据库,它们采用的数据模型不同于传统的关系模型,它通常使用键值对、文档、图形等非传统的数据结构进行数据存储,不遵循预定义的模式和模型。NoSQL数据库通常分布式、高可扩展性&#xff0…

理解Java ThreadLocal

原文链接 理解Java ThreadLocal ThreadLocal是Java提供的为每个线程存储线程独立的数据的存储方式,也就是说用ThreadLocal来保存的数据,只能被当前线程所访问,其他线程无法访问,因为只有(一个线程)当前线程…

六级备考6天|CET-6|听力第五六讲|6月11日|19:44~20:07

目录 第五讲 第六讲 第五讲 第六讲 ​​​​​​​

支付宝认证的作用是什么?考试方向有哪些?

通过考证书来提升自己的能力,是现在的打工人经常会做的事,而对于从事信息通信技术行业的人来说,可以选择的证书非常多,其中支付宝认证是一个新设立的证书,但是实用性非常高。支付宝作为我们生活中常用的软件&#xff0…

arthas 的初使用

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信…

PD QC诱骗取电应用IC《乐得瑞LDR6328S》广泛应用于各大小家电

随着现在智能家居的应用越来越广泛,带电池的产品一天比一天多,今天这篇文章就来讲一下那些支持快速充电(PD QC)的产品应用电路是怎么实现的 USB PD受电端取电芯片(乐得瑞取电受电)LDR6328S 支持多协议快充取电! 1、概述 LDR6328S…

推荐5款你可能没见过的效率软件

你有没有想过,有些软件能让你的电脑用起来更方便,更快,更好看?这篇文章就为你介绍了五款这样的软件,它们分别是BreeZip,ClipClip,燃精灵,Sticky Notes和Tabby。下面我们来看看它们都…