分布式系統和一致性問題 一致性問題(consensus problem)是分布式系統需要解決的一個核心問題。分布式系統一般是由多個地位相等的節點組成,各個節點之間的交互就好比幾個人聚在一起討論問 ...
分布式系統和一致性問題 一致性問題(consensus problem)是分布式系統需要解決的一個核心問題。分布式系統一般是由多個地位相等的節點組成,各個節點之間的交互就好比幾個人聚在一起討論問 ...
SOFAJRaft 是基於 Raft 算法的生產級高性能 Java 實現,支持 MULTI-RAFT-GROUP。應用場景有 Leader 選舉、分布式鎖服務、高可靠的元信息管理、分布式存儲系統。 ...
看完這個實現之后,感覺還是要多看源碼,多研究。其實JRaft的定時任務調度器是基於Netty的時間輪來做的,如果沒有看過Netty的源碼,很可能並不知道時間輪算法,也就很難想到要去使用這么優秀的定時調 ...
我們這次依然用上次的例子CounterServer來進行講解: 我這里就不貼整個代碼了 我們在啟動server的main方法的時候會傳入日志存儲的路徑、SOFAJRaft集群的名字、當前節點的 ...
前言 前幾天和騰訊的大佬一起吃飯聊天,說起我對SOFAJRaft的理解,我自然以為我是很懂了的,但是大佬問起了我那SOFAJRaft集群之間的日志是怎么復制的? 我當時啞口無言,說不出是怎么實現的, ...
開篇 在上一篇文章當中,我們講解了NodeImpl在init方法里面會初始化話的動作,選舉也是在這個方法里面進行的,這篇文章來從這個方法里詳細講一下選舉的過程。 由於我這里介紹的是如何實現的,所以 ...
前言 由於RheaKV要講起來篇幅比較長,所以這里分成幾個章節來講,這一章講一講RheaKV初始化做了什么? 我們先來給個例子,我們從例子來講: 這里為了簡化邏輯,使用的無PD設置 Nod ...
前言 我在看SOFAJRaft的源碼的時候看到了使用了對象池的技術,看了一下感覺要吃透的話還是要新開一篇文章來講,內容也比較充實,大家也可以學到之后運用到實際的項目中去。 這里我使用Recycla ...
概述 上一篇講了RheaKV是如何進行初始化的,因為RheaKV主要是用來做KV存儲的,RheaKV讀寫的是相當的復雜,一起寫會篇幅太長,所以這一篇主要來講一下RheaKV中如何存放數據。 我們這 ...
開篇 其實這篇文章我本來想在講完選舉的時候就開始講線性一致性讀的,但是感覺直接講沒頭沒尾的看起來比比較困難,所以就有了RheaKV的系列,這是RheaKV,終於可以講一下SOFAJRaft的線性一致 ...