首页 > TAG信息列表 > SOFAJRaft

Raft算法_SOFAJRaft源码学习_(二、选主源码分析)

上篇回顾:Raft算法_SOFAJRaft源码学习_(一、背景及选主演示) 概览 Counter演示程序的构成,可以参考官方文档: https://www.sofastack.tech/projects/sofa-jraft/counter-example/ CounterServer是主启动入口,进去以后就进行了相关的配置,最后调用了集群的start方法,启动集群: // 启动 th

Raft算法_SOFAJRaft源码学习_(一、背景及选主演示)

背景 raft算法原理,建议参考raft官网:https://raft.github.io/ 强烈推荐观看raft的流程动画,方便直观理解算法过程 动画地址:http://thesecretlivesofdata.com/raft/ 本系列通过阅读SofaJRaft源码,并在本地运行SofaJRaft自带的Counter演示程序,学习了解raft算法在工程中的具体实现。

浅谈分布式一致性:Raft 与 SOFAJRaft

简介: SOFAJRaft已开源 作者 | 家纯 来源 | 阿里技术公众号 一 分布式共识算法 (Consensus Algorithm) 1 如何理解分布式共识? 多个参与者针对某一件事达成完全一致:一件事,一个结论。 已达成一致的结论,不可推翻。 2 有哪些分布式共识算法? Paxos:被认为是分布式共识算法的根本,其

3. SOFAJRaft源码分析— 是如何进行选举的?

开篇 在上一篇文章当中,我们讲解了NodeImpl在init方法里面会初始化话的动作,选举也是在这个方法里面进行的,这篇文章来从这个方法里详细讲一下选举的过程。 由于我这里介绍的是如何实现的,所以请大家先看一下原理:SOFAJRaft 选举机制剖析 | SOFAJRaft 实现原理 文章比较长,我也慢慢的写

3. SOFAJRaft源码分析— 是如何进行选举的?

开篇 在上一篇文章当中,我们讲解了NodeImpl在init方法里面会初始化话的动作,选举也是在这个方法里面进行的,这篇文章来从这个方法里详细讲一下选举的过程。 由于我这里介绍的是如何实现的,所以请大家先看一下原理:SOFAJRaft 选举机制剖析 | SOFAJRaft 实现原理 文章比较长,我也慢慢的写

2. SOFAJRaft源码分析—JRaft的定时任务调度器是怎么做的?

看完这个实现之后,感觉还是要多看源码,多研究。其实JRaft的定时任务调度器是基于Netty的时间轮来做的,如果没有看过Netty的源码,很可能并不知道时间轮算法,也就很难想到要去使用这么优秀的定时调度算法了。 对于介绍RepeatedTimer,我拿Node初始化的时候的electionTimer进行讲解 this.ele

1. SOFAJRaft源码分析— SOFAJRaft启动时做了什么?

我们这次依然用上次的例子CounterServer来进行讲解: 我这里就不贴整个代码了 public static void main(final String[] args) throws IOException { if (args.length != 4) { System.out .println("Useage : java com.alipay.sofa.jraft.example.counter.C