基于Raft协议的两节点主备系统调度算法

2023-11-16

摘要

以城市轨道交通列车指挥调度系统为代表的工业系统受限于工程成本,在运营现场往往仅部署两个服务节点。指挥调度中心因故障离线后,若采用主流的分布式一致性协议保证运营现场节点间数据一致性,将因为降低了可用性而无法容忍节点发生故障。为解决此问题,提出一种基于Raft一致性协议的调度算法,通过对Leader选举与数据同步过程进行合理扩充,使路由器成为分布式系统逻辑上的第3个节点,满足Raft协议多数派设计要求。经实验验证,基于该算法的两节点分布式系统相较于基于Raft协议的两节点分布式系统,提高了可用性,能够容忍单节点故障。基于Raft协议的三节点分布式系统在Leader选举与数据同步的正确性方面保持一致。受限于节点数量,可用性差距为27.8%,占少量运行时长的Leader选举性能差距为65.6%,主要运行时长的数据同步性能提升了7.8%,能够在不增加工程成本的情况下满足两节点的分布式主备系统,并兼顾可用性与数据一致性的工程需求。

关键词

工程成本可用性数据一致性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于Raft协议的两节点主备系统调度算法 的相关文章

  • AI大模型应用入门实战与进阶:如何训练自己的AI模型

    1 背景介绍 人工智能 Artificial Intelligence AI 是计算机科学的一个分支 旨在模拟人类智能的能力 包括学习 理解自然语言 识别图像和视频 进行决策等 随着数据量的增加和计算能力的提升 人工智能技术的发展得到了巨大
  • 6 - 数据备份与恢复|innobackupex

    数据备份与恢复 innobackupex 数据备份与恢复 数据备份相关概念 物理备份与恢复 逻辑备份 推荐 使用binlog日志文件实现对数据的时时备份 使用日志 恢复数据
  • 人工智能与机器学习:未来的编程范式

    1 背景介绍 人工智能 Artificial Intelligence AI 和机器学习 Machine Learning ML 是现代计算机科学的重要领域之一 它们旨在让计算机能够自主地学习 理解和进化 以解决复杂的问题 随着数据量的增加
  • spark相关

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • 【计算机毕业设计】航空信息管理系统

    传统信息的管理大部分依赖于管理人员的手工登记与管理 然而 随着近些年信息技术的迅猛发展 让许多比较老套的信息管理模式进行了更新迭代 飞机票信息因为其管理内容繁杂 管理数量繁多导致手工进行处理不能满足广大用户的需求 因此就应运而生出相应的航空
  • 【计算机毕业设计】线上招聘问答系统

    计算机网络发展到现在已经好几十年了 在理论上面已经有了很丰富的基础 并且在现实生活中也到处都在使用 可以说 经过几十年的发展 互联网技术已经把地域信息的隔阂给消除了 让整个世界都可以即时通话和联系 极大的方便了人们的生活 所以说 线上招聘问
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • 问CHAT很繁琐的问题会不会有答案呢?

    问CHAT 什么已有的基于极值理论的极端温度重现期主要针对极端高温事件 对极端低温事件研究较少 CHAT 回复 为这主要可能是由于以下几个原因 1 气候变化与全球变暖 当前 全球变暖和气候变化的问题备受关注 这导致科研者更加关注极端高温事件
  • 基于java的饮食分享平台系统设计与实现

    基于java的饮食分享平台系统设计与实现 I 引言 A 研究背景和动机 近年来 随着人们生活水平的提高和健康意识的增强 饮食健康已经成为越来越多人的关注焦点 因此 一个方便快捷的饮食分享平台就显得尤为重要 基于Java的饮食分享平台系统设计
  • 软件测试|SQLAlchemy环境安装与基础使用

    简介 SQLAlchemy 是一个强大的 Python 库 用于与关系型数据库进行交互 它提供了高度抽象的对象关系映射 ORM 工具 允许使用 Python 对象来操作数据库 而不必编写原生SQL查询 本文将介绍如何安装 SQLAlchem
  • 电商数据api拼多多接口获取商品实时数据价格比价api代码演示案例

    拼多多商品详情接口 接口接入入口 它的主要功能是允许卖家从自己的系统中快速获取商品详细信息 通过这个接口 卖家可以提取到商品的各类数据 包括但不限于商品标题 价格 优惠价 收藏数 下单人数 月销售量等 此外 还可以获取到商品的SKU图 详情
  • 扬帆证券投资者必知:股票配股与增发的区别你清楚吗?

    配股和增发都是股票再融资的方式 不过二者有一定的区别 1 发行对象不同 配股是向原股东发售一定量股票 一般会以低于市价的价格发售 增发是向全体社会公众发行股票 即新老股东都能获得 2 发行前是否需要公告价格 配股会事先公告配股价 配股的定价
  • 【计算机毕业设计】电商个性化推荐系统

    伴随着我国社会的发展 人民生活质量日益提高 于是对电商个性化推荐进行规范而严格是十分有必要的 所以许许多多的信息管理系统应运而生 此时单靠人力应对这些事务就显得有些力不从心了 所以本论文将设计一套电商个性化推荐系统 帮助商家进行商品信息 在
  • 【计算机毕业设计】白优校园社团网站的设计与实现

    近些年 随着中国经济发展 人民的生活质量逐渐提高 对网络的依赖性越来越高 通过网络处理的事务越来越多 随着白优校园社团网站的常态化 如果依然采用传统的管理方式 将会为工作人员带来庞大的工作量 这将是一个巨大考验 需要投入大量人力开展对社团
  • 【计算机毕业设计】springbootstone音乐播放器的设计与实现

    随着我国经济的高速发展与人们生活水平的日益提高 人们对生活质量的追求也多种多样 尤其在人们生活节奏不断加快的当下 人们更趋向于足不出户解决生活上的问题 stone音乐播放器展现了其蓬勃生命力和广阔的前景 与此同时 为解决用户需求 stone
  • Oracle EBS AP发票导入 API Rejection List 第二部分

    Oracle EBS AP发票导入 API Rejection List 第二部分 The report lists the reason the invoice could not be imported and prints a bri
  • Mysql中设置只允许指定ip能连接访问(可视化工具的方式)

    场景 Mysql中怎样设置指定ip远程访问连接 Mysql中怎样设置指定ip远程访问连接 navicat for mysql 设置只有某个ip可以远程链接 CSDN博客 前面设置root账户指定ip能连接访问是通过命令行的方式 如果通过可视
  • 温室气体排放更敏感的模型(即更高的平衡气候敏感性(ECS))在数年到数十年时间尺度上也具有更高的温度变化(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • ESM10A 消除对单独 PLC 的需求

    ESM10A 消除对单独 PLC 的需求 ESM10A 可以消除对单独 PLC 的需求 该程序是在 PC 上开发的 然后使用免费提供的简单易用的 EzSQ 软件下载到逆变器 似乎这些改进还不够 日立还在 SJ700 中添加了其他新功能 例如
  • 两个月进口猛增10倍,买近百台光刻机,难怪ASML不舍中国市场

    据统计数据显示 2023年11月和12月 中国从荷兰进口的光刻机设备同比猛增10倍 进口金额超过19亿美元 让ASML赚得盆满钵满 ASML早前表示中国客户在2023年订购的光刻机全数交付 2023年11月中国进口的光刻机达到42台 进口金

随机推荐

  • [vue3]vue3中引入class类的写法

    1 在src utils topu下创建一个ts文件 topu ts class Topu Topu类中涉及到的变量 都要提前在这个部分定义好 width Number 结尾必须顿号 不然报错 height Number data any
  • Android之Adapter用法总结

    1 概念 Adapter是连接后端数据和前端显示的适配器接口 是数据和UI View 之间一个重要的纽带 在常见的View ListView GridView 等地方都需要用到Adapter 如下图直观的表达了Data Adapter Vi
  • 【解决方法】Windows7 任务计划程序 “任务计划程序服务不可用。任务计划程序将尝试重新与其建立连接。”

    目录 问题背景 问题描述 折腾过程 解决方法 适用于我的解决方法 2 其他解决方法 供参考 解决方法1 3 解决方法2 4 解决方法3 4 解决方法4 5 出错原因 参考资料 问题背景 今天刚好给家里的旧电脑加上新的内存条 组了个双通道 顺
  • FTP搭建教程

    FTP搭建教程 目录 一 FTP简介 二 搭建FTP 一 FTP简介 FTP中文为文件传输协议 简称为文传协议 它也是一个应用程序 不同的操作系统有不同的FTP应用程序 这些应用程序都遵守同一种协议以传输文件 FTP主要的功能是 上传 和
  • 1011. 在 D 天内送达包裹的能力

    传送带上的包裹必须在 D 天内从一个港口运送到另一个港口 传送带上的第 i 个包裹的重量为 weights i 每一天 我们都会按给出重量的顺序往传送带上装载包裹 我们装载的重量不会超过船的最大运载重量 返回能在 D 天内将传送带上的所有包
  • 用Python 编写Logistics算法

    我们用Python来自己编写Logistics算法 首先 先将一些理论 Logistics算法用于实现线性可分的二分类问题 1 Sigmoid函数 fx 1 1 exp x Sigmoid函数是常用的阈值函数之一 函数图像如下 是不是很像累
  • Kotlin内部类

    一 内部类 定义在类内部的类 与类成员有相似的访问控制 kotlin 默认是静态内部类 非静态用inner关键字 this outter this inner的用法 二 匿名内部类 没有定义名字的内部类 类名编译时生产 类似Outter 1
  • 算法[第四版]-图灵程序设计丛书-笔记

    第一章 笔记 1 1 9 编写一段代码 将一个正整数 N 用二进制表示并转换为一个 String 类型的值 s public class Conversionbinary public static void main String arg
  • 计算机科学巨匠

    贝尔实验室联合多家准备开发Multics 系统 但是最后退出了 但是却培养了优秀的人才 如肯汤姆森 花了四周时间自己做了一个简化的系统 这就是Unix的雏形 因为简化所以同事称为unics 后来觉得用B语言编写性能差 与Ritchie 合作
  • u版YOLOv3的卷积权重分享

    网上有许多关于预训练权重的分享 但大部分都要收费 官网下载又太慢了 自己就破费一把 本着一人收费 大家共享的原则 将自己花钱下载的权重文件分享出来 yolov3 tiny conv 15 darknet53 conv 74 链接 https
  • 动态规划C语言初学

    动态规划问题解决的基本思想 1 根绝问题所求的那一项和变量的个数 确定是一维数组 二维数组或者多维数组 2 写出初始值 一般是某个变量为1或者0 的特殊情况时候的解 3 通过循环 一般是两个循环中间每一层循环表示一个变量的递增情况 4 在循
  • 查看服务器文件命令,服务器上查看文件命令

    服务器上查看文件命令 内容精选 换一换 您可以使用JDK自带的keytool工具自制客户端的密钥库文件 client p12 再使用第三方openssl工具将client p12转换为client pem 最后根据client pem文件得
  • python期货基本面分析_Python量化炒期货入门与实战技巧

    1 1 初识量化炒期货 2 1 1 1 什么是量化炒期货 2 1 1 2 为什么要学习量化炒期货 3 1 2 量化炒期货的特点 4 1 2 1 严格的纪律性 5 1 2 2 完备的系统性 5 1 2 3 妥善运用套利的思想 5 1 2 4
  • 消息摘要算法

    文章目录 概述 MD Message Digest SHA Secure Hash Algorithm MAC Message Authentication Code 其它 概述 看图 我们在下载commons codec时候会有这么一个页
  • 接口接收数据_基于原语的千兆以太网RGMII接口设计

    之前介绍MII接口时 有介绍过RGMII接口的由来 下面在贴一下 表8 7 MII接口介绍 简述 Pins 速率计算 MII 基本的100Mbps 10Mbps接口 RXD 3 0 TXD 3 0 TX ER TX EN RX ER RX
  • 字符串算法题

    1 替换空格 1 剑指offer 请实现一个函数 将一个字符串中的每个空格替换成 20 例如 当字符串为We Are Happy 则经过替换之后的字符串为We 20Are 20Happy 这里我提供了两种方法 常规方法 利用 API 解决
  • 一些可能常用的工具函数

    一些可能常用的工具函数 返回当前的微秒数 1s 1000ms 1ms 1000us 返回当前时间的微秒 long GetCurrentTime timeval tv gettimeofday tv nullptr return tv tv
  • Java8 Stream应用:Map合并、过滤、遍历、values int求和等

    1 Java多个Map合并 多个Map
  • Stream流和不可变集合

    一 不可变集合 什么是不可变集合 不可变集合 就是不可被修改的集合 集合的数据项在创建的时候提供 并且在整个生命周期中都不可改变 否则报错 为什么要创建不可变集合 如果某个数据不能被修改 把它防御性地拷贝到不可变集合中是个很好的实践 或者当
  • 基于Raft协议的两节点主备系统调度算法

    摘要 以城市轨道交通列车指挥调度系统为代表的工业系统受限于工程成本 在运营现场往往仅部署两个服务节点 指挥调度中心因故障离线后 若采用主流的分布式一致性协议保证运营现场节点间数据一致性 将因为降低了可用性而无法容忍节点发生故障 为解决此问题