1.1 分布式計(jì)算的概念
分布式計(jì)算是一種基于網(wǎng)絡(luò)的分而治之的計(jì)算方式
計(jì)算形式:
- 單機(jī)計(jì)算
- 并行計(jì)算:時(shí)間 空間
- 網(wǎng)絡(luò)計(jì)算
- 網(wǎng)格計(jì)算:強(qiáng)調(diào)資源共享,任何節(jié)點(diǎn)都可以請(qǐng)求使用其他結(jié)點(diǎn)的資源,任何結(jié)點(diǎn)都需要貢獻(xiàn)一定資源給其他結(jié)點(diǎn),側(cè)重于并行的計(jì)算集中性需求,難以擴(kuò)展
- 云計(jì)算
1.2 分布式系統(tǒng)概述
WWW是目前為止最大的分布式系統(tǒng)
分布式系統(tǒng)的特征:
- 可靠性:當(dāng)一個(gè)分布式系統(tǒng)在它的某一個(gè)或多個(gè)硬件的軟件組件故障時(shí),仍能提供服務(wù)的能力。
- 可擴(kuò)展性
橫向擴(kuò)展:增加服務(wù)器數(shù)量
縱向擴(kuò)展:給每臺(tái)服務(wù)器增加更多系統(tǒng)資源的方式 - 可用性
快速檢測(cè)錯(cuò)誤機(jī)制:關(guān)鍵在于任務(wù)管理者結(jié)點(diǎn)定期檢測(cè)每個(gè)服務(wù)器的狀態(tài)
快速啟動(dòng)回復(fù)程序機(jī)制:復(fù)制(將數(shù)據(jù)復(fù)制到多臺(tái)服務(wù)器上)或者冗余(每個(gè)實(shí)例連接多臺(tái)服務(wù)器) - 高效性:反應(yīng)時(shí)間、吞吐量
CAP理論
一致性
可用性
分區(qū)容忍性:當(dāng)集群中的某些結(jié)點(diǎn)無(wú)法聯(lián)系時(shí)仍能正常提供服務(wù)
結(jié)論,三者只能取其中之二
1.3 分布式計(jì)算的基礎(chǔ)技術(shù)
1.3.1 進(jìn)程間通信
發(fā)送者、接收者
單播、組播
1.3.2 IPC程序接口原型
- send
- receive
- connect
- disconnect
1.3.3 事件同步
- 同步send和同步receive
- 異步send和同步receive
- 同步send和異步receive
- receive請(qǐng)求的數(shù)據(jù)在receive操作發(fā)出時(shí)已經(jīng)到達(dá)
- receive請(qǐng)求的數(shù)據(jù)在receive操作發(fā)出時(shí)仍未到達(dá),receive進(jìn)程使用輪詢(xún)技術(shù)
- receive請(qǐng)求的數(shù)據(jù)在receive操作發(fā)出時(shí)仍未到達(dá),receive可以提供一個(gè)可以被IPC設(shè)施調(diào)用的偵聽(tīng)接口/事件號(hào),用于向進(jìn)程通告請(qǐng)求數(shù)據(jù)的到來(lái)
- 異步send和異步receive