綜述
本章討論了分布式系統(tǒng)面臨的麻煩事,網(wǎng)絡(luò)問題(無法完全保障的網(wǎng)絡(luò))、時鐘和時序問題(不可靠時鐘),以及面對這些問題時我們能夠避免的程度。這些問題的后果是不可預(yù)測了,后面還給出了推理后果的方法。
引子
對比了超級計算機(jī)和云計算的區(qū)別,以及各自的優(yōu)缺點(diǎn)。云計算遇到的部分故障或者不可靠問題,恰恰也使其具備了一定的優(yōu)勢:低延時服務(wù)、熱備、成本廉價等。分布式系統(tǒng)的特點(diǎn)說明,如果要使分布式系統(tǒng)工作,就必須接受部分故障的可能性,并在軟件中建立容錯機(jī)制。換句話說,我們需要從不可靠的組件構(gòu)建一個可靠的系統(tǒng)。這個思想也是個計算機(jī)比較古老的思想,比如糾錯碼、TCP協(xié)議等,TCP隱藏了數(shù)據(jù)包丟失、重傳、排序的的問題,但不能根本上消除延時。