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