iT邦幫忙

分散式系統相關文章
共有 57 則文章
鐵人賽 Cloud、Big Data DAY 19

技術 Day 19: 分散式資料系統 vs. 科層組織

讓我們用科層組織來類比分散式資料系統,作為分散式資料系統的小節吧。 我們從 partition 和 replication 談起,partition 就像科層組...

鐵人賽 Cloud、Big Data DAY 5

技術 Day 5: 資料切割的metadata管理

啊啊 今天要談什麼呢? 來談談資料切割的metadata好了。 現在有好幾台機器,都必須要follow同一套的資料切割方式,這個切割方式存在metadata中。...

技術 分散式系統

分散式系統(Hadoop) 微程式資訊股份有限公司:研發部協理 分享對象:公司一級主管 http://rd-program.blogspot.com/2011/...

鐵人賽 Cloud、Big Data DAY 12

技術 Day 12: Zookeeper (續)

Zookeeper能保證global order,因為只有leader能處理寫入要求。Zookeeper在partition發生時仍能維持服務,因為採用了Quo...

鐵人賽 Software Development DAY 27

技術 Day 27 - Data Partitioning and Sharing - P2P - BitTorrent

前言 前面介紹了兩個搭配Data Partitioning使用的DHT演算法 CHORD、Kademlia。 今天特別拉出來介紹一下這個現在已經退流行的P2P應...

鐵人賽 Cloud、Big Data DAY 4

技術 Day 4: 為什麼有有些時候不要把query灑到所有機器上平行處理?

昨天講到partition,事實上partition比較常用在write需求高的應用(平行寫),這是為什麼呢? 以前同事問過一個問題:既然有多台機器,那當然是把...

鐵人賽 Software Development DAY 12

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

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

鐵人賽 Software Development DAY 22

技術 Day 22 - Zookeeper - Leader Election 與 Reverse Proxy 實作,使用Golang

前言 今天我們繼續看幾個跟Zookeeper有關的實作,主要是因為這是那時的作業,使用Golang,我覺得蠻好玩的。 Leader Election 許多分散式...

鐵人賽 Cloud、Big Data DAY 21

技術 Day 21: 分散式運算系統

談到分散式運算系統,大家最熟悉的應該是Hadoop。不過Hadoop是設計來處理high throughput的批次應用,相對來說不重視 latency。如果是...

鐵人賽 Cloud、Big Data DAY 10

技術 Day 10: In-Memory data

本來今天應該要寫 Zookeeper 的,不過看到這是第10天,想說來點特別的。所以臨時插進來這個題目。 這個題目我不想講太多,只是想丟個問題給大家來討論一下。...

鐵人賽 Software Development DAY 23

技術 Day 23 - Data Partitioning - Distributed Hash Table and Consistent Hashing

前言 前面都是在聊資料做備份放到replca servers後的各種資料一致性。 分散式系統還有另一個大主題,那就是如何分散資料到各個Node上。這個需求最早出...

鐵人賽 Software Development DAY 14

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

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

鐵人賽 Cloud、Big Data DAY 7

技術 Day 7: 無強一致性 及 無法決定執行順序 帶來的問題

昨天講到多數系統不允許在副本寫入,因為如果有好幾個寫入同時發生在不同的節點上,資料會不一致。就算能忍受資料不一致,也缺乏一個跨節點且精確同步的時鐘來協調出這些寫...

鐵人賽 Cloud、Big Data DAY 6

技術 Day 6: Replication

今天來談談資料複製吧 資料複製是維持可用性的方法,因為資料複製好幾份到不同機器,所以只要有一台機器還在,資料就拿的到。 但只要有資料複製,就一定會有延遲的狀況,...

鐵人賽 Software Development DAY 10

技術 Day 10 - 共識演算法之虛構的希臘城邦 - Paxos(下)

設計出一套演算法,當然必須能夠證明他的正確性,且要滿足Consensus Problem的三個要求Termination、Agreement與Validity...

鐵人賽 Software Development DAY 24

技術 Day 24 - Data Partitioning - Distributed Hash Table and Consistent Hashing - CHORD(上)

前言 昨天提到說明了 DHT便是將傳統的Hash Bucket變成一個個實體的Node 而Consistent Hashing是將Key與Node都一起...

鐵人賽 Software Development DAY 21

技術 Day 21 - Zookeeper - 介紹與實作Lock與2PC

前言 Chubby作為一個在Google內部各種分散式系統很核心的服務,可惜的是並沒有開源。因此Zookeeper的出現給大家一個更具體的想像這個服務怎麼運作與...

鐵人賽 Software Development DAY 17

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

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

鐵人賽 Software Development DAY 15

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

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

鐵人賽 Software Development DAY 20

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

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

鐵人賽 Software Development DAY 28

技術 Day 28 - Cloud Computing - Platform as a Service - Kubernetes (上)

前言 當初開始這一個系列想說有三十天的份量可以寫,應該可以將所有內容寫完。沒想到默默的只剩3天的Quota 既然我們已經完整的把 Data Replicati...

鐵人賽 Software Development DAY 19

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

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

鐵人賽 Software Development DAY 29

技術 Day 29 - Cloud Computing - Platform as a Service - Kubernetes (下)

前言 昨天介紹了Kubernetes的運作與設計原理,了解到最主要的運作模式就是靠etcd、APIServer、Controller的合作完成了K8s上面所有任...

鐵人賽 Software Development DAY 26

技術 Day 26 - Data Partitioning - Distributed Hash Table and Consistent Hashing - Kademlia

前言 前兩篇介紹的Distributed Hash Table的Hashing Space是對應到一個圓,今天我們要來介紹另一種對應到Tree Structur...

鐵人賽 Software Development DAY 25

技術 Day 25 - Data Partitioning - Distributed Hash Table and Consistent Hashing - CHORD(下)

前言 昨天介紹了CHORD的兩種Lookup方法,一個是不斷往下一個Successor詢問,一個是利用儲存空間也就是Finger Table換取時間,以取對數的...

技術 k8s 分散式架構 (VM上運行MINIKUBE)

學習使用KUBERNATE的MINIKUBE,透過DOCKER實現單機版,利用多個CPU做CLUSTER 於vm上啟動minikube時,需把vm關閉,...

鐵人賽 Modern Web DAY 1

技術 第一章、單體式應用程式與微服務 - PHP 微服務入門與開發

首先,我們從大多數人熟悉的單體式(Monolithic)架構說起。 Monolithic 就如同摩艾石像般,巨大、莊嚴,承載著文化的整體。 在單體式應用程...