高可用系統(tǒng),就是說(shuō)要保證系統(tǒng)在幾乎任務(wù)時(shí)候都要有正常運(yùn)行,功能正常。
我們來(lái)看下哪些情況會(huì)造成系統(tǒng)不可用。
單機(jī)系統(tǒng)下的可用性問(wèn)題,從nginx->tomcat->db/soa來(lái)看,單點(diǎn)問(wèn)題會(huì)影響系統(tǒng)高可用,比如要是這個(gè)這個(gè)鏈路上其中一個(gè)單點(diǎn)掛了,那么整個(gè)系統(tǒng)都不可用了。所以引申出來(lái)主備/集群模式,防止單點(diǎn)問(wèn)題。
高并發(fā)場(chǎng)景下,請(qǐng)求過(guò)多也會(huì)因?yàn)楹蠖似款i點(diǎn)引起整個(gè)系統(tǒng)down掉,所以一般情況下應(yīng)對(duì)高并發(fā)場(chǎng)景我們會(huì)限流,比如英雄聯(lián)盟搶票,周杰倫搶票。
通過(guò)采用mq等隊(duì)列形式削峰,保證后端系統(tǒng)不會(huì)down掉。
熔斷機(jī)制。
容災(zāi)機(jī)制,多機(jī)房部署。
綜上所述:
主備/集群模式,防止單點(diǎn)故障;
限流,削峰,防止后端壓力過(guò)大;
熔斷機(jī)制,類似與限流;
容災(zāi)機(jī)制,多機(jī)房/異地部署。