OceanBase 3.X 高可用 (一)

OceanBase 3.X 高可用(一)

一、分布式核心

OceanBase 3.x 采用的是paxos 协议,与raft协议相比。其复杂程度高,实现技术难度大。

Paxos 协议允许事务日志乱序发送,顺序提交。raft允许事务顺序发送,顺序提交。相比之下,paxos协议的事务执行速度将快于raft协议。

Paxos 与 Raft 都对节点网络延迟与时钟同步有要求,Paxos对网络抖动,性能影响方面都优于raft协议。
Raft算法认为各副本都是对等的,那么在leader选举机制上会弱于Paxos(会根据系统硬件,资源配置,负载均衡进行判断)。

二、Leader 选举

1.Leader选举会由其中一台Server 充当提议者,其它Server 充当 接受者。提议者会向充当者发送提议【编号与value】,如果充当者中的大多数都接收到了消息并进行了回复,则提议者当选为Leader。

2.当选Leader的Server会将【编号与value】发送给所有的接受者,如果多数接受者返回了AcceptAck(),说明大多数接受者已认同。

3.Leader 这个提议者将向所有的接受者发送Accept【编号与value】。

感觉上有点偏向TCP的三次握手。

多个Server 当选 为Leader的问题(相近的时间内,多个Server完成了上面动作),产生脑裂问题的解决办法:

Paxos 协议因为是基于时钟同步的(时钟也是集群)。
在无主的情况下,第一个Server当选为Leader,会存在一个lease(租约时间,未过期状态下)。
当有Leader存在租约时间且小于其Server中的leader lease小(且不过期的情况下),则只会认为拥有最小lease的Server充当Leader。

突然联想到了注册中心实现分布式锁的原理(比如zookeeper)。

三、Leader 三种改选类型(需要考虑健康程度,硬件优势)

MAX_DELAY=100ms
MAX_TST=200ms

NTP 小于 100ms
Server 之间小于 200ms

1.有主连任:
在lease租期内,自我推荐,拥有优先权(其它Server默认其有优先权)。

2.无主选举:
1.所有的follow Observer 会发起devote_prepare(相当于当选意愿,包含了自己想要当选的权重)。
2.所有的follow Observer 在交换意愿后,推举最大意愿的follow Observer 为Leader,并向其发送devote_prepare消息(告诉最大意愿的follow Observer当选了)。且意愿低的follow observer会记录unconfirmed_leader_lease。
3.当多数派都选择了统一个Server,Server就要开始Leader上任了 ,并将好消息(成功当选)广播给所有的follow observer,follow observer们就默默记录Leader_lease了(相当于备案,防止自己不长眼,自己造时势力,准备谋反,可惜天意天命不在身呀)。
4.Leader 选举完成,开始清理所有的选举产生的临时状态信息(有点卸磨杀驴,抹掉痕迹,然后其他人感觉Leader是寿命于天、既受永昌)。

四、Leader 日志同步

1.app 发起dml ,leader 记录dml到memstore与clog,clog同步到其它follower中并重放至memstore。
2.app 发起commit,leader中的clog开始落盘,同时其它follower也开始落盘,当大多数follower都落盘OK ,则app将认为已执行成功。

因为Paxos的原因,日志是乱序发送,顺序提交。

五、Paxos如何保证一致性

在这里插入图片描述

严重:
多数派节点宕机:此时服务中断,需要重启宕机进行副本恢复。
集群全部宕机:此时服务中断,需要重启宕机进行副本恢复。

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

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

相关文章

的使用和内联函数

今天我们来了解一下C中的&和内联函数 引用标识符& C觉得C语言部分的指针有些麻烦,容易混乱,所以C创造了一个标识符&,表示是谁的别名。跟指针对比一下:int* a1&b1;int &a2b2;这样看,显然a1存放的…

【java】前端RSA加密后端解密

目录 1. 说明2. 前端示例3. 后端示例3.1 pom依赖3.2 后端结构图3.3 DecryptHttpInputMessage3.4 ApiCryptoProperties3.5 TestController3.6 ApiCryptoUtil3.7 ApiDecryptParamResolver3.8 ApiDecryptRequestBodyAdvice3.9 ApiDecryptRsa3.10 ApiCryptoProperties3.11 KeyPair3…

爱速搭百度低代码开发平台

爱速搭介绍 爱速搭是百度智能云推出的低代码开发平台,它灵活性强,对开发者友好,在百度内部大规模使用,有超过 4w 内部页面是基于它制作的,是百度内部中台系统的核心基础设施。 它具备以下功能: 页面制作…

Android界面控件概述

节选自《Android应用开发项目式教程》,机械工业出版社,2024年7月出版 做最简单的安卓入门教程,手把手视频、代码、答疑全配齐 控件是Android界面的重要组成单元,Android应用主要通过控件与用户交互,Android提供了非常…

raise Exception(“IPAdapter model not found.“)

IPAdapter模型文件太多了,而节点IPAdapter Unified Loader是通过函数(get_ipadapter_file与get_clipvision_file)预设来加载模型文件,当发生错误“IPAdapter model not found.“时并不指明模型文件名,导致想要有针对性…

在MacOS上安装MongoDB数据库

一、安装方法 1.1 安装包安装 首先,打开MongoDB 官网下载安装包,下载链接:https://www.mongodb.com/try/download/community。 根据自己的系统环境自行选择下载的版本。将下载好的 MongoDB 安装包解压缩,并将文件夹名改为 mon…

Go语言接口与多态

Go语言虽然并非传统意义上的面向对象语言,但它通过接口(Interface)和匿名组合(Composition)等机制,实现了类似面向对象编程中的多态性(Polymorphism)。接口和多态性是Go语言中非常重…

信息技术对现代商业的推动作用及未来趋势

信息技术对现代商业的推动作用及未来趋势 目录 引言信息技术对商业的推动作用 业务流程自动化供应链优化客户关系管理电子商务的崛起 信息技术对不同行业的影响 零售行业制造业金融行业 信息技术带来的挑战 数据隐私问题技术迭代的压力信息孤岛现象 未来信息技术的发展趋势 人…

开源大模型 vs闭源大模型

在人工智能(AI)领域,如何评价一个AI模型的优劣和发展前景,是一个复杂而又广泛讨论的问题。在这个过程中,"开源"和"闭源"的发展路径成为绕不开的两条道路。开源模式以共享知识和技术进步为宗旨&…

理解:基础地理实体相关概述

理解:基础地理实体相关概述 地理实体 geo-entity 现实世界中占据一定且连续空间位置和范围、单独具有同一属 性或完整功能的地理对象。 基础地理实体 fundamental geo-entity 通过基础测绘采集和表达的地理实体,是其他地理实体和相关 信息的定位框架与…

卡通角色检测系统源码分享

卡通角色检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

Keepalived+MySQL 高可用集群

基础架构如下 准备干净的实验环境 [rootmysql1 ~]# systemctl stop firewalld [rootmysql1 ~]# cat /etc/sysconfig/selinux |grep "SELINUXdisabled" SELINUXdisabled [rootmysql1 ~]# setenforce 0 setenforce: SELinux is disabled [rootmysql1 ~…

IoT网关的主要功能有哪些?天拓四方

在数字化浪潮席卷全球的今天,物联网(IoT)技术凭借其独特的优势,逐渐在各个领域展现出强大的生命力。而IoT网关,作为连接物理世界与数字世界的桥梁,其在物联网体系中的作用愈发凸显。 一、数据聚合与预处理…

acw(树的重心)

给定一颗树,树中包含 n𝑛 个结点(编号 1∼n1∼𝑛)和 n−1𝑛−1 条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义:重心是指树…

《论文阅读》 用于产生移情反应的迭代联想记忆模型 ACL2024

《论文阅读》 用于产生移情反应的迭代联想记忆模型 ACL2024 前言简介任务定义模型架构Encoding Dialogue InformationCapturing Associated InformationPredicting Emotion and Generating Response损失函数问题前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦…

C++杂项

作业&#xff1a; 将之前实现的顺序表、栈、队列都更改成模板类 顺序表 #include <iostream>using namespace std;template<typename T>class SeqList { private:T *ptr;int size; //总长度int len 0; //当前顺序表实际长度public://初始…

误差不到1毫米的WGS84与CGCS2000坐标转换工具

我们在《WGS84与CGCS2000坐标的精密转换方法》一文中为你分享了一个WGS84与CGCS2000坐标的精密转换纯理论性的方法。 现在&#xff0c;再为你分享一个据说是误差不到1毫米的WGS84与CGCS2000坐标的转换工具&#xff0c;请从文末查看该工具的领取方法。 WGS84与CGCS2000坐标转换…

人工智能有助于解决 IT/OT 集成安全挑战

思科的一项研究表明&#xff0c;信息技术 (IT) 和运营技术 (OT) 融合所带来的安全问题可以通过人工智能 (AI) 解决&#xff0c;尽管该技术也可能被恶意行为者利用。 该报告由思科和 Sapio Research 联合发布&#xff0c;对 17 个国家的 1,000 名行业专业人士进行了调查&#x…

AWS Network Firewall -NAT网关配置只应许白名单域名出入站

1. 创建防火墙 选择防火墙的归属子网(选择公有子网) 2. 创建规则白名单域名放行 3. 绑定相关规则

HCIP--以太网交换安全(一)

以太网交换安全概述&#xff1a;以太网交换安全是一系列技术和策略的集合&#xff0c;旨在保护以太网交换机免受各种网络攻击和威胁。 端口隔离 一、端口隔离概述&#xff1a; 作用&#xff1a;可以实现同一个VLAN内端口的隔离 优势&#xff1a; 端口隔离功能为用户提供了更…