分布式系統中,存在著三組非常重要的概念:節點,網絡,存儲。
下面我們來從書上說的先來理解一下:
節點:系統中通過一定的協議完成相應的計算的功能的一台機器或者一個進程等等。
網絡:通信通道。
存儲:系統需要持久化的數據以及一些維護系統正常運作的元數據信息等。
舉個例子:
古村落需要交納稅款:
分布式系統就好比是一個古村落,村子中每個人都過著安逸祥和的生活。那麼每個家庭就相當於是一個節點。每個家庭都會生孩子,但是家庭不能太多人員居住,因為家庭太大就會不好運轉。當家庭中的成員過多的時候,也就是家不能承受如此的重負的時候,分家就是必然的結果。分家也就是新的節點產生的時機。
每個家庭都會有自己的房屋,都會有自己的耕地,這些我們稱之為財產。每一個家庭對應一個自己的財產,這些財產就標志著這家人目前的生活狀態。若是出村(宕機)一段時間再回來,依然能夠繼續按照之前的生活狀態繼續生活。這些財產就象征著需要被存儲的信息或者節點元數據信息。
再有,在每個家庭的生活中,難免會有自己家裡不能解決的事情。遇到自己不能夠解決的事情的時候,需要向外界求助,自己的鄰裡親朋。這就需要能夠與鄰裡之間達成正常的交流。這些交流就需要網絡來達成每個節點的交流情況。
節點還會有不同的角色,比如說有些村民自然要被推選出來當醫生,有些村民則需要當教員,不同的村民家中的財產各不相同。醫生家中要常備草藥,教員家中少不了書籍,農夫家中少不了農具。
最終的目標是要整個村子繳納稅款,至於怎麼能夠正常的繳納出合格的稅款,村子內部自己決定就好了。
其實計算機內的一系列解決問題的方法,都可以從現實生活中找到縮影。我們不生產解決方案,我們是生活的搬運工。