讓我們用科層組織來類比分散式資料系統,作為分散式資料系統的小節吧。 我們從 partition 和 replication 談起,partition 就像科層組...
啊啊 今天要談什麼呢? 來談談資料切割的metadata好了。 現在有好幾台機器,都必須要follow同一套的資料切割方式,這個切割方式存在metadata中。...
分散式系統(Hadoop) 微程式資訊股份有限公司:研發部協理 分享對象:公司一級主管 http://rd-program.blogspot.com/2011/...
Zookeeper能保證global order,因為只有leader能處理寫入要求。Zookeeper在partition發生時仍能維持服務,因為採用了Quo...
前言 前面介紹了兩個搭配Data Partitioning使用的DHT演算法 CHORD、Kademlia。 今天特別拉出來介紹一下這個現在已經退流行的P2P應...
昨天講到partition,事實上partition比較常用在write需求高的應用(平行寫),這是為什麼呢? 以前同事問過一個問題:既然有多台機器,那當然是把...
前言 昨天提到在資料庫領域有2PC來解決Distributed Transaction ACID的問題。但是最大的缺點便是單一Coordinator,如果失效那...
前言 今天我們繼續看幾個跟Zookeeper有關的實作,主要是因為這是那時的作業,使用Golang,我覺得蠻好玩的。 Leader Election 許多分散式...
談到分散式運算系統,大家最熟悉的應該是Hadoop。不過Hadoop是設計來處理high throughput的批次應用,相對來說不重視 latency。如果是...
本來今天應該要寫 Zookeeper 的,不過看到這是第10天,想說來點特別的。所以臨時插進來這個題目。 這個題目我不想講太多,只是想丟個問題給大家來討論一下。...
前言 前面都是在聊資料做備份放到replca servers後的各種資料一致性。 分散式系統還有另一個大主題,那就是如何分散資料到各個Node上。這個需求最早出...
前言 昨天提到了基本的選Leader的方式,與log被commit的方法,感覺已經非常完整了,到底哪裡還有問題呢? 我們今天繼續往後探討當選出一個新的Leade...
昨天講到多數系統不允許在副本寫入,因為如果有好幾個寫入同時發生在不同的節點上,資料會不一致。就算能忍受資料不一致,也缺乏一個跨節點且精確同步的時鐘來協調出這些寫...
今天來談談資料複製吧 資料複製是維持可用性的方法,因為資料複製好幾份到不同機器,所以只要有一台機器還在,資料就拿的到。 但只要有資料複製,就一定會有延遲的狀況,...
設計出一套演算法,當然必須能夠證明他的正確性,且要滿足Consensus Problem的三個要求Termination、Agreement與Validity...
前言 昨天提到說明了 DHT便是將傳統的Hash Bucket變成一個個實體的Node 而Consistent Hashing是將Key與Node都一起...
前言 Chubby作為一個在Google內部各種分散式系統很核心的服務,可惜的是並沒有開源。因此Zookeeper的出現給大家一個更具體的想像這個服務怎麼運作與...
前言 這是我們最後一個要介紹的共識演算法了,也就是Zookeeper使用的ZAB共識演算法。接下來我們會從Zookeeper開始,往上以系統或是實例角度介紹。...
前言 今天鐵人30天已經走了一半了!沒想到我們還在討論Consistency與Availability的問題。就知道其實分散式系統最大的問題,便是在保持系統可用...
Chubby Caching 首先Chubby應用在Google內部,必須支撐上千個Client,每一個Client都是另外一個分散式系統與服務。因此Chubb...
前言 當初開始這一個系列想說有三十天的份量可以寫,應該可以將所有內容寫完。沒想到默默的只剩3天的Quota 既然我們已經完整的把 Data Replicati...
Chubby 架構 下圖是一個Chubby的架構 分成Client與Chubby Cells 五個replica servers組成一個高可用的Chubby...
前言 昨天介紹了Kubernetes的運作與設計原理,了解到最主要的運作模式就是靠etcd、APIServer、Controller的合作完成了K8s上面所有任...
前言 前兩篇介紹的Distributed Hash Table的Hashing Space是對應到一個圓,今天我們要來介紹另一種對應到Tree Structur...
前言 昨天介紹了CHORD的兩種Lookup方法,一個是不斷往下一個Successor詢問,一個是利用儲存空間也就是Finger Table換取時間,以取對數的...
學習使用KUBERNATE的MINIKUBE,透過DOCKER實現單機版,利用多個CPU做CLUSTER 於vm上啟動minikube時,需把vm關閉,...
首先,我們從大多數人熟悉的單體式(Monolithic)架構說起。 Monolithic 就如同摩艾石像般,巨大、莊嚴,承載著文化的整體。 在單體式應用程...