源码解析--hugegraph基于raft实现分布式一致性
2023-09-11 14:16:24 时间
随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,亟需一种支持海量复杂数据关系运算的数据库即图数据库。本系列文章是学习知识图谱以及图数据库相关的知识梳理与总结
本文会包含如下内容:
- raft协议算法及JAVA实现
- hugegraph基于raft的分布式一致性
本篇文章适合人群:架构师、技术专家、对知识图谱与图数据库感兴趣的高级工程师
本次分析基于hugegraph 0.11.2进行。
1. raft算法及JAVA实现
1.1 raft 一致性算法
Raft是一种易于理解的一致性算法。它在容错和性能方面相当于Paxos。不同的是,它被分解成相对独立的子问题,并且它干净地解决了实际系统所需的所有主要部分。详细说明参见:https://raft.github.io/ 论文参见:https://raft.github.io/raft.pdf。
Raft是针对拜占庭将军问题的解决方案
在假设将军中没有叛军,信使的信息可靠但有可能被暗杀的情况下的前提,将军们如何达成一致性决定,Raft 的解决方案大概可以理解成 先在所有将军中选出一个大将军,所有的决定由大将军来做。选举环节
相关文章
- python爬虫知识点总结(二十七)Scrapy分布式原理以及Scrapy-Reids源码解析
- Sql Server 删除数据表的存储过程,直接能用!(源码带说明)
- 用Maven编译Apache flume-ng 1.5.0源码及问题解决
- uboot源码中"include/configs/$(boardname).h"与"configs/$(boardname)_defconfig"之间有何异同
- SwiftUI 绘图大全之强大又非常易用的纯SwiftUI绘图组件饼状图 柱状图 曲线图 (中文教程含源码)
- SwiftUI 如何在界面中print打印日志log (EmptyView教程含源码)
- SwiftUI iPadOS如何实现快捷键功能 KeyboardShortcut (教程含源码)
- macOS SwiftUI 封装组件之 可选择可输入组合文本框NSComboBox(教程含源码)
- HarmonyOS鸿蒙开发之05 运行第一个页面 (教程含源码)
- 多目标遗传算法 ------ NSGA-II (部分源码解析)两个个体支配判断 dominance.c
- Android事件总线(四)源码解析otto
- 源码网站汇总(转载)
- 源码编译OpenJdk 8,Netbeans调试Java原子类在JVM中的实现(Ubuntu 16.04)