背景 該協(xié)議是解決分布式數(shù)據(jù)一致性的問(wèn)題,使得多個(gè)節(jié)點(diǎn)上對(duì)于某個(gè)提案達(dá)成一致。 協(xié)議交互過(guò)程 協(xié)議包含三個(gè)角色 1 提案發(fā)起者 Proposer...
前言 在單機(jī)多線程下,對(duì)某個(gè)資源并發(fā)操作時(shí),我們通常會(huì)用鎖來(lái)保證資源的安全性,在分布式環(huán)境下,或者說(shuō)多個(gè)進(jìn)程同時(shí)操作一個(gè)資源,我們就需要分布式鎖...
分布式彈力設(shè)計(jì)的目的 保證服務(wù)的彈力,從兩個(gè)方面體現(xiàn),一是出現(xiàn)故障時(shí)能夠自恢復(fù),另一方面是在無(wú)法自愈的情況下,將范圍控制在最小。 為了這個(gè)目標(biāo),...
當(dāng)系統(tǒng)遇到大的流量,為了能讓系統(tǒng)健康的運(yùn)行,我們會(huì)采取一些措施,上節(jié)課講到的限流是一種方式,拒絕掉一些流量,今天講另一種方式,降級(jí),它的本質(zhì)是在...
前言 熔斷機(jī)制的靈感來(lái)源于保險(xiǎn)絲,我們知道家里的電路中有個(gè)保險(xiǎn)絲,當(dāng)用電過(guò)載或是短路時(shí),保險(xiǎn)絲熔斷,切斷電路,避免發(fā)生損壞電器甚至引起火災(zāi)。分布...
重試機(jī)制的使用場(chǎng)景 重試的前提是認(rèn)為故障是暫時(shí)的,不是永久的,所以重試才有意義。 使用重試機(jī)制是必須要明確哪些錯(cuò)誤可以重試,常見的可重試的錯(cuò)誤有...
今天我們來(lái)談一談服務(wù)的狀態(tài),服務(wù)的狀態(tài)指的是請(qǐng)求是否與不同的服務(wù)實(shí)例相關(guān)。分為兩種,有狀態(tài)和無(wú)狀態(tài)。 無(wú)狀態(tài)服務(wù)重要特征是同一個(gè)輸入對(duì)于每個(gè)服務(wù)...
分布式服務(wù)之間不可避免要相互通信,通信的結(jié)果有三種:成功,失敗,超時(shí)。而超時(shí)狀態(tài),有可能是接收方?jīng)]有接受到數(shù)據(jù),另一種情況是接受到數(shù)據(jù)處理完了,...
講到異步通信,不得不先提同步通信,如果把打電話比做同步,那短信就是異步。同步操作有個(gè)優(yōu)點(diǎn),實(shí)時(shí)性好,但存在以下問(wèn)題。 1 影響吞吐量,系統(tǒng)間同步...