- 相關(guān)推薦
系統(tǒng)架構(gòu)師知識(shí):高可用系統(tǒng)設(shè)計(jì)
高可用系統(tǒng)設(shè)計(jì),常見(jiàn)于大中型互聯(lián)系統(tǒng)架構(gòu)設(shè)計(jì)。下面為大家整理了一些關(guān)于高可用系統(tǒng)設(shè)計(jì)的知識(shí),一起來(lái)了解一下!
1、系統(tǒng)可用性
系統(tǒng)可用性定義:MTTF/(MTTF+MTTR) * 100%
MTTF: mean time to failure,平均失效前時(shí)間,也就是正常運(yùn)行的時(shí)間
MTTR: mean time to restoration, 平均恢復(fù)前時(shí)間,也就是故障時(shí)間
系統(tǒng)高可用性(High Availability)通常來(lái)描述一個(gè)IT系統(tǒng)經(jīng)過(guò)專門的設(shè)計(jì),減少計(jì)劃和非計(jì)劃停工時(shí)間,保持其服務(wù)的高度持續(xù)可用性。
影響系統(tǒng)可用性的因素很多,包括硬件、軟件、網(wǎng)絡(luò)和環(huán)境(比如機(jī)房溫度)等,除了常見(jiàn)的CPU、內(nèi)存、IO、網(wǎng)絡(luò)、鎖等因素,還需要考慮各種支持設(shè)備和系統(tǒng)、非技術(shù)的因素,總之,系統(tǒng)可用性是一個(gè)綜合因素影響的結(jié)果。
2、高可用的模式
系統(tǒng)高可用性的常用設(shè)計(jì)模式包括三種,包括:
(1)、主備(Active-Standby)
工作原理:主機(jī)工作,備機(jī)處于監(jiān)控準(zhǔn)備狀況;當(dāng)主機(jī)宕機(jī)時(shí),備機(jī)接管主機(jī)的一切工作,待主機(jī)恢復(fù)正常后,按使用者的設(shè)定以自動(dòng)(熱備)或手動(dòng)(冷備)方式將服務(wù)切換到主機(jī)上運(yùn)行。一般需要人工干預(yù)才能回復(fù)初始狀態(tài)。
(2)、互備(Active-Active)
工作原理:兩臺(tái)主機(jī)(A標(biāo)記為主,B標(biāo)記為備)同時(shí)運(yùn)行各自的服務(wù)工作且相互監(jiān)測(cè)情況,當(dāng)任一臺(tái)主機(jī)(A)宕機(jī)時(shí),另一臺(tái)主機(jī)(B,啟用并標(biāo)記為主)立即接管它的一切工作,保證工作實(shí)時(shí)可用
(3)、集群(Cluster)
工作原理:多臺(tái)具有相同能力的服務(wù)同時(shí)對(duì)外提供透明服務(wù),所有服務(wù)之間都是Active-Active關(guān)系,并分擔(dān)處理服務(wù)請(qǐng)求,一般通過(guò)總控節(jié)點(diǎn)或集群軟件(例如zookeeper等)進(jìn)行高可用的控制。
3、高可用的設(shè)計(jì)
高可用的設(shè)計(jì)沒(méi)有完美的標(biāo)準(zhǔn)答案。但是根據(jù)工程經(jīng)驗(yàn),我們可以總結(jié)出高可用設(shè)計(jì)的一個(gè)重要指標(biāo):
不要有單點(diǎn)。
不要有單點(diǎn)。
不要有單點(diǎn)。
如果是在設(shè)計(jì)開(kāi)發(fā)實(shí)現(xiàn)和維護(hù)大中型web系統(tǒng),通常我們會(huì)從互聯(lián)系統(tǒng)中最容易出現(xiàn)問(wèn)題,同時(shí)也最不容易橫向擴(kuò)展的節(jié)點(diǎn)下手(包括網(wǎng)絡(luò)和存儲(chǔ)系統(tǒng)),排查并解除系統(tǒng)中的薄弱環(huán)節(jié),爭(zhēng)取保證整個(gè)系統(tǒng)中絕不出現(xiàn)單點(diǎn)這一死角,或者出現(xiàn)單點(diǎn),但也可以通過(guò)成熟的優(yōu)化手段(緩存、隊(duì)列、sharding、負(fù)載均衡和異地容災(zāi)等)實(shí)現(xiàn)高可用。
你可能還是會(huì)有疑問(wèn):是不是系統(tǒng)中沒(méi)有單點(diǎn)了保證高可用了就一定不出事情了呢?
答案是,還是可能會(huì)出事,而且可能都是大事。今年的黑色五月份的幾起重大IT事故,無(wú)情地告訴我們,再高明的設(shè)計(jì),碰到物理破壞或者權(quán)限控制不當(dāng)而誤操作或者DDoS都有可能讓開(kāi)發(fā)和設(shè)計(jì)人員的所有心血付之東流。
【系統(tǒng)架構(gòu)師知識(shí):高可用系統(tǒng)設(shè)計(jì)】相關(guān)文章:
系統(tǒng)架構(gòu)師性能知識(shí)整理12-29
如何成為優(yōu)秀的系統(tǒng)架構(gòu)師06-03
系統(tǒng)架構(gòu)師的就業(yè)前景分析01-11
Windows系統(tǒng)分區(qū)知識(shí)01-13
Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識(shí)07-25