一對(duì)一直播系統(tǒng)開發(fā),分布式系統(tǒng)的優(yōu)劣判定
為保證一對(duì)一直播系統(tǒng)開發(fā)質(zhì)量,就得設(shè)計(jì)出優(yōu)秀的分布式系統(tǒng),而分布式系統(tǒng)的設(shè)計(jì)本身就是一個(gè)難題,所以我們首先需要了解分布式系統(tǒng)的優(yōu)劣判定,然后再根據(jù)判定指標(biāo)進(jìn)行分布式系統(tǒng)的設(shè)計(jì)。

一、一致性或可用性
無(wú)論是一致性還是可用性都是針對(duì)多個(gè)協(xié)作的系統(tǒng)而言的,就一對(duì)一直播系統(tǒng)開發(fā)的業(yè)務(wù)場(chǎng)景而言,一個(gè)業(yè)務(wù)場(chǎng)景可能需要多個(gè)功能模塊的支持,這就得考慮到一致性和可用性了。
在一對(duì)一直播系統(tǒng)開發(fā)中,很多情況是無(wú)法保證每個(gè)組件均保持一致性的,但我們可以追求整個(gè)系統(tǒng)角度上的最終一致性,以此來(lái)增強(qiáng)系統(tǒng)的可用性。
這里的可用性也可以追求整個(gè)系統(tǒng)的可用性,這樣即便個(gè)別子系統(tǒng)存在不可用的情況,也不會(huì)影響整個(gè)系統(tǒng)的可用性。
二、可觀察性
在一對(duì)一直播系統(tǒng)開發(fā)中,可觀察性主要是用于回答有關(guān)系統(tǒng)的新問(wèn)題,在設(shè)計(jì)分布式系統(tǒng)時(shí),可觀察性分為技術(shù)和業(yè)務(wù)兩個(gè)方面,首先需要能夠解釋系統(tǒng)的技術(shù)狀態(tài),其次要可以通過(guò)業(yè)務(wù)指標(biāo)確定系統(tǒng)的運(yùn)行狀態(tài)。

三、域耦合
優(yōu)秀的分布式系統(tǒng)設(shè)計(jì)需要在正確的抽象級(jí)別將不同的事務(wù)進(jìn)行拆分,拆分后的分割線便是所謂的域邊界,在一對(duì)一直播系統(tǒng)開發(fā)時(shí),域邊界需要用獨(dú)特的溝通語(yǔ)言和域特有的功能接口進(jìn)行標(biāo)識(shí)。
在分布式系統(tǒng)中,需要對(duì)同一級(jí)別的域進(jìn)行解耦,并在父域級(jí)別建立內(nèi)聚。
四、使用異步消息進(jìn)行通信
在一對(duì)一直播系統(tǒng)開發(fā)時(shí)引入異步消息通信可以有效消除一致性壓力,在分布式系統(tǒng)設(shè)計(jì)時(shí),引入異步消息通信后,被調(diào)用系統(tǒng)是可以按照自己的節(jié)奏處理請(qǐng)求的,此時(shí)系統(tǒng)的可用性壓力也會(huì)得到緩解。
雖然在分布式系統(tǒng)設(shè)計(jì)時(shí)引入異步消息通信的好處很多,但在實(shí)際應(yīng)用時(shí)還是有很多細(xì)節(jié)需要注意:
1、需要做好最低可接受用戶體驗(yàn)的定義;
2、保持最終一致性;
3、系統(tǒng)的保證SLA的一致性。

要想在一對(duì)一直播系統(tǒng)開發(fā)時(shí)設(shè)計(jì)出優(yōu)秀的分布式系統(tǒng),上述的判定指標(biāo)則不可忽視。在實(shí)際開發(fā)工作中,為降低開發(fā)難度、提升開發(fā)質(zhì)量,其實(shí)有很多指標(biāo)可以參考,畢竟這些由一代代開發(fā)者總結(jié)而來(lái)的指標(biāo)還是很有參考價(jià)值的。
聲明:本文由云豹科技原創(chuàng),轉(zhuǎn)載請(qǐng)注明作者名及原文鏈接,否則視為侵權(quán)