面試 如何搭建乙個高可用系統

2021-09-11 02:40:50 字數 434 閱讀 1520

高可用系統,就是說要保證系統在幾乎任務時候都要有正常執行,功能正常

我們來看下哪些情況會造成系統不可用

單機系統下的可用性問題,從nginx->tomcat->db/soa來看,單點問題會影響系統高可用,比如要是這個這個鏈路上其中乙個單點掛了,那麼整個系統都不可用了

所以引申出來主備/集群模式,防止單點問題

高併發場景下,請求過多也會因為後端瓶頸點引起整個系統down掉,

所以一般情況下應對高併發場景我們會限流,比如今年的英雄聯盟搶票,周杰倫搶票

通過採用mq等佇列形式削峰,保證後端系統不會down掉

熔斷機制

容災機制,多機房部署

綜上所述:

1,主備/集群模式,防止單點

2,限流,削峰,防止後端壓力過大

3,熔斷機制,類似與限流

4,容災機制,多機房/異地部署

如何設計乙個高可用 高併發秒殺系統

如今的網際網路已經在海量服務領域有了很成熟的理論,因此自己也很慶幸,能夠從 0 到 1 完整踐行海量服務。微視春節專案中的集卡瓜分活動,是乙個典型的秒殺場景,自己參與其中,分享一些心得和總結。上圖是乙個典型的網際網路業務,使用者完成乙個寫操作,一般會通過接入層和邏輯層,這裡的服務都是無狀態,可以通過...

如何設計乙個高併發系統

總結如果你確實有真才實學,在網際網路公司裡幹過高併發系統,那你確實拿 offer 基本如探囊取物,沒啥問題。面試官也絕對不會這樣來問你,否則他就是蠢。假設你在某知名電商公司幹過高併發系統,使用者上億,一天流量幾十億,高峰期併發量上萬,甚至是十萬。那麼人家一定會仔細盤問你的系統架構,你們系統啥架構?怎...

如何設計乙個高併發系統

系統拆分,將乙個系統拆分為多個子系統,用dubbo來搞。然後每個系統連乙個資料庫,這樣本來就乙個庫,現在多個資料庫,不也可以抗高併發麼。快取,必須得用快取。大部分的高併發場景,都是讀多寫少,那你完全可以在資料庫和快取裡都寫乙份,然後讀的時候大量走快取不就得了。畢竟人家redis輕輕鬆鬆單機幾萬的併發...