????????這里引用下DistributedSystems Concepts and Design (Third Edition)中的一句話: "A distributed system is one in which components located at networked computerscommunicate and coordinate their actions only by passing messages"。從這句話我們可以看到幾個重點晶伦,一是組件分布在網(wǎng)絡(luò)計算機上,二是組件之間僅僅通過消息傳遞來通信并協(xié)調(diào)行動踩衩。
? ??????圖1-1 是一個分布式系統(tǒng)的示意圖,從用戶的視角看指蚁,用戶面對的就是一個服務(wù)器菱父,提供用戶需要的服務(wù)牵囤,而實際上是靠背后的眾多服務(wù)器組成的一個分布式系統(tǒng)來提供服務(wù)。分布式系統(tǒng)看起來就像一個超級計算機一樣滞伟。揭鳞。
? ??????我們來理解一下分布式系統(tǒng)的定義。首先分布式系統(tǒng)一定是由多個節(jié)點組成的系統(tǒng)梆奈,一般來說一個節(jié)點就是我們的一臺計算機野崇;然后這些節(jié)點不是孤立的,而是互相連通的亩钟;最后乓梨,這些連通的節(jié)點上部署了我們的組件,并且相互之間的操作會有協(xié)同清酥。
1.1.2 分布式系統(tǒng)的意義
? 升級單機處理能力的性價比越來越低扶镀。
? 單機處理能力存在瓶頸。
? 出于穩(wěn)定性和可用性的考慮焰轻。
1.2.4 如何把應(yīng)用從單機擴展到分布式
1.2.4.1 輸入設(shè)備的變化
? ??????分布式系統(tǒng)由通過網(wǎng)絡(luò)連接的多個節(jié)點組成臭觉,那么,輸入設(shè)備其實可以分為兩類,一種是互相連接的多個節(jié)點蝠筑,在接收其他節(jié)點傳來的信息時狞膘,該節(jié)點可以看做是輸入設(shè)備;另外一種就是傳統(tǒng)意義的人機交互的輸入設(shè)備了什乙。
1.2.4.2 輸出設(shè)備的變化
? ??????輸出設(shè)備和輸入設(shè)備相仿挽封, 也可以看做有兩種, 一種是指系統(tǒng)中的節(jié)點在向其他節(jié)點傳遞信息時臣镣, 該節(jié)點可以看做是輸出設(shè)備辅愿; 另外一種就是傳統(tǒng)意義的人機交互的輸出設(shè)備, 例如終端用戶的屏幕等忆某。
1.2.4.3 控制器的變化
? ??????在單機系統(tǒng)中点待, 控制器指的就是CPU中的控制器。在分布式系統(tǒng)中褒繁, 我們要介紹的控制器不是像CPU中的控制器那樣的具體電子元件, 而是分布式系統(tǒng)中的控制方式馍忽。
????????分布式系統(tǒng)是由多個節(jié)點通過網(wǎng)絡(luò)連接在一起并通過消息的傳遞進行協(xié)調(diào)的系統(tǒng)棒坏。控制器主要的作用就是協(xié)調(diào)或控制節(jié)點之間的動作和行為遭笋。