第十一屆 佳作

software-dev
分散式系統 - 在分散的世界中保持一致
Jack Lin

系列文章

DAY 11

Day 11 - 共識演算法 - 2 Phase Commitment (2PC)

前言 前面提到的Paxos: Leaderless,每一個replica server都可以當Proposer去說服系統達成共識,決定最終的v值 保證「只要過...

DAY 12

Day 12 - 共識演算法 - 3 Phase Commitment (3PC)

前言 昨天提到在資料庫領域有2PC來解決Distributed Transaction ACID的問題。但是最大的缺點便是單一Coordinator,如果失效那...

DAY 13

Day 13 - 共識演算法 - Paxos太難了所以我發明了Raft(上)

前言 今天要來說一個覺得人家論文太難,所以就寫一個博士論文重新發明共識演算法的故事。 其實,Paxos太難這件事不只一個人說過,也許前面幾篇講解Paxos流程不...

DAY 14

Day 14 - 共識演算法 - Paxos太難了所以我發明了Raft(下)

前言 昨天提到了基本的選Leader的方式,與log被commit的方法,感覺已經非常完整了,到底哪裡還有問題呢? 我們今天繼續往後探討當選出一個新的Leade...

DAY 15

Day 15 - 共識演算法 - 先喘口氣做一個複習

前言 今天鐵人30天已經走了一半了!沒想到我們還在討論Consistency與Availability的問題。就知道其實分散式系統最大的問題,便是在保持系統可用...

DAY 16

Day 16 - 分散式系統溝通的方法 - RPC

前言 雖然我們還有Zookeeper的ZAB共識演算法還沒看,但是RPC算是很基礎的分散式系統溝通方法,在Raft裡面也是直接使用並將Spec寫在論文中,因此我...

DAY 17

Day 17 - 共識演算法之最後一個了 - Zookeeper的ZAB

前言 這是我們最後一個要介紹的共識演算法了,也就是Zookeeper使用的ZAB共識演算法。接下來我們會從Zookeeper開始,往上以系統或是實例角度介紹。...

DAY 18

Day 18 - Google Distributed Lock Service - Chubby(上)

前言 我們前面剛講完Zookeeper的共識演算法,還沒介紹它的功能,怎麼就跳到什麼鎖服務了呢? 這是因為Apache系列底下的分散式系統例如: Hadoop、...

DAY 19

Day 19 - Google Distributed Lock Service - Chubby(中)

Chubby 架構 下圖是一個Chubby的架構 分成Client與Chubby Cells 五個replica servers組成一個高可用的Chubby...

DAY 20

Day 20 - Google Distributed Lock Service - Chubby(下)

Chubby Caching 首先Chubby應用在Google內部,必須支撐上千個Client,每一個Client都是另外一個分散式系統與服務。因此Chubb...