1. 程式人生 > >Zookeeper介紹(一)——背景知識

Zookeeper介紹(一)——背景知識

本文主要介紹什麼是分散式系統以及分散式系統存在哪些問題。

分散式

網際網路技術的發展,導致大型網站需要的計算能力和儲存能力越來越高。網站架構逐漸從集中式轉變成分散式

什麼是分散式

把一個計算任務分解為若干個計算單元,並分派到若干個不同的計算機中去執行,然後再彙總計算結果。

分散式的工作方式有點類似於團隊合作。當有一項任務分配到某個團隊之後,團隊內部的成員開始各司其職,然後把工作結果統一彙總給團隊主管,由團隊主管再整理團隊的工作成果彙報給公司。

分散式存在的問題

雖然分散式和集中式系統相比有很多優勢,比如能提供更強的計算、儲存能力,避免單點故障等問題。但是由於採用分散式部署的方式,就經常會出現網路故障等問題,並且如何在分散式系統中保證資料的一致性和可用性也是一個比較關鍵的問題。

比如在集中式系統中,有一些關鍵的配置資訊,可以直接儲存在伺服器的記憶體中,但是在分散式系統中,如何儲存這些配置資訊,又如何保證所有機器上的配置資訊都保持一致,又如何保證修改一個配置能夠把這次修改同步到所有機器中呢?

再比如,在集中式系統中,進行一個同步操作要寫同一個資料的時候,可以直接使用事務+鎖來管理保證資料的ACID。但是,在分散式系統中如何保證多臺機器不會同時寫同一條資料呢?