自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

高可用架構(gòu)下 B 站、小紅書(shū)崩了?對(duì)于阿里回應(yīng),網(wǎng)友認(rèn)為裁員裁到大動(dòng)脈

開(kāi)發(fā) 架構(gòu)
通過(guò)監(jiān)控,我們可以實(shí)時(shí)地了解系統(tǒng)的當(dāng)前狀態(tài),這樣很多時(shí)候,業(yè)務(wù)還沒(méi)出問(wèn)題,我們就可以提前干預(yù),避免事故;而當(dāng)系統(tǒng)出現(xiàn)問(wèn)題時(shí),我們也可以借助監(jiān)控信息,快速地定位和解決問(wèn)題。

大家好,我是碼哥,可以叫我靚仔。

作為靚仔,是應(yīng)該經(jīng)常打開(kāi) B 站的,畢竟里面很多美好的“東西”,結(jié)果出現(xiàn)網(wǎng)絡(luò)錯(cuò)誤,我以為由于日夜觀摩 B 站的視頻導(dǎo)致流量超了。

吃瓜雖好,可不要貪杯。我們的重點(diǎn)是根據(jù) B 站、小紅書(shū)服務(wù)故障來(lái)聊聊高可用架構(gòu)的一些設(shè)計(jì)思路。

B 站、小紅書(shū)崩了

在 2024-07-02 上午 10 點(diǎn)~11 點(diǎn)左右,B 站和小紅書(shū)都崩了,出現(xiàn)了不同程度的故障。

打開(kāi)微博, 看到 #B 站(嗶哩嗶哩)、小紅書(shū)崩了# 的話題相繼登上熱搜。

圖片圖片

用戶反饋,B 站崩潰,無(wú)法拉取新內(nèi)容和評(píng)論區(qū),用戶主頁(yè)、消息界面、客服頁(yè)面均不可用。有的頁(yè)面會(huì)返回 -500 錯(cuò)誤,視頻評(píng)論區(qū)則一直顯示“加載中”。

圖片圖片

還有網(wǎng)友反映小紅書(shū)首頁(yè)內(nèi)容無(wú)法刷新。有的則表示刷出來(lái)的內(nèi)容也不是我的推薦。

圖片圖片

圖片圖片

圖片圖片

@酷安網(wǎng) 也發(fā)文表示網(wǎng)站崩了。隨后,阿里云客戶服務(wù)中心回復(fù):北京時(shí)間 2024 年 07 月 02 日 10:04,阿里云監(jiān)控發(fā)現(xiàn)上海地域可用區(qū) N 網(wǎng)絡(luò)訪問(wèn)出現(xiàn)異常,阿里云工程師正在緊急處理中。

圖片圖片

B 站、小紅書(shū)崩了之后,對(duì)于阿里云的回應(yīng),網(wǎng)友認(rèn)為裁員裁到大動(dòng)脈了有網(wǎng)友認(rèn)為,這次是阿里云裁員裁到大動(dòng)脈了。

高可用架構(gòu)

言歸正傳,吃瓜歸吃瓜,我們應(yīng)該從阿里云的網(wǎng)絡(luò)切換故障,看到一些高可用的解決方案。

雖然網(wǎng)絡(luò)故障,B 站、并不是所有的網(wǎng)頁(yè)打不開(kāi),而且系統(tǒng)并沒(méi)有垮掉,依然返回相關(guān)錯(cuò)誤信息或者頁(yè)面給用戶。我們也能從里面了解到大廠工程師如何應(yīng)對(duì)此問(wèn)題的解決方案。

從這次的故障可以看出,B 站和小紅書(shū)的系統(tǒng)均滿足系統(tǒng)服務(wù)可降級(jí)。

B 站的做法是提供一個(gè)加載錯(cuò)誤的頁(yè)面,引導(dǎo)用戶重試。

圖片圖片

小紅書(shū)的降級(jí)策略有所不同,因?yàn)槠浔憩F(xiàn)為無(wú)法刷新內(nèi)容,首頁(yè)刷出來(lái)的內(nèi)容不是用戶推薦的。

所以小紅書(shū)的降級(jí)策略是使用了緩存作為降級(jí),比如平臺(tái)無(wú)法通過(guò)網(wǎng)絡(luò)獲取用戶推薦的信息流時(shí),就直接從緩存系統(tǒng)或者服務(wù)器本地的緩存中獲取一些內(nèi)容返回給用戶。

這些也是只碼哥根據(jù)有限的信息哥大家聊聊,估計(jì)不久就會(huì)有官方的反饋了。本次故障相當(dāng)于驗(yàn)證了一把 B 站和小紅書(shū)的高可用是否足夠強(qiáng)大。

故障來(lái)源

系統(tǒng)宕機(jī)原因主要有以下:

無(wú)計(jì)劃的

  • 系統(tǒng)級(jí)故障,包括主機(jī)、操作系統(tǒng)、中間件、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、電源以及外圍設(shè)備。
  • 數(shù)據(jù)和中介的故障,包括人員誤操作、硬盤(pán)故障、數(shù)據(jù)亂了。
  • 還有自然災(zāi)害、人為破壞,以及供電問(wèn)題等。

有計(jì)劃的

  • 日常任務(wù):備份,容量規(guī)劃,用戶和安全管理,后臺(tái)批處理應(yīng)用。
  • 運(yùn)維相關(guān):數(shù)據(jù)庫(kù)維護(hù)、應(yīng)用維護(hù)、中間件維護(hù)、操作系統(tǒng)維護(hù)、網(wǎng)絡(luò)維護(hù)。
  • 升級(jí)相關(guān):數(shù)據(jù)庫(kù)、應(yīng)用、中間件、操作系統(tǒng)、網(wǎng)絡(luò),包括硬件升級(jí)。

分個(gè)類。

  1. 網(wǎng)絡(luò)問(wèn)題。網(wǎng)絡(luò)鏈接出現(xiàn)問(wèn)題,網(wǎng)絡(luò)帶寬出現(xiàn)擁塞……
  2. 性能問(wèn)題。數(shù)據(jù)庫(kù)慢 SQL、Java Full GC、硬盤(pán) IO 過(guò)大、CPU 飆高、內(nèi)存不足……
  3. 安全問(wèn)題。被網(wǎng)絡(luò)攻擊,如 DDoS 等。
  4. 運(yùn)維問(wèn)題。系統(tǒng)總是在被更新和修改,架構(gòu)也在不斷地被調(diào)整,監(jiān)控問(wèn)題……
  5. 管理問(wèn)題。沒(méi)有梳理出關(guān)鍵服務(wù)以及服務(wù)的依賴關(guān)系,運(yùn)行信息沒(méi)有和控制系統(tǒng)同步……
  6. 硬件問(wèn)題。硬盤(pán)損壞、網(wǎng)卡出問(wèn)題、交換機(jī)出問(wèn)題、機(jī)房掉電、挖掘機(jī)問(wèn)題……

高可用架構(gòu)原則

系統(tǒng)出現(xiàn)問(wèn)題的地方很多,解決的方式各不相同,想要解決問(wèn)題,先說(shuō)下高可用的總體解決思路,才能更好的解決問(wèn)題。

避免發(fā)生

想要系統(tǒng)高可用,我們要想辦法避免問(wèn)題的發(fā)生。比如說(shuō),我們可以通過(guò) UPS(Uninterruptible Power System,不間斷電源)來(lái)避免服務(wù)器斷電。

故障轉(zhuǎn)移

如果問(wèn)題真的發(fā)生了,我們要考慮的是如何故障轉(zhuǎn)移,比如說(shuō),我們可以通過(guò)冗余部署,當(dāng)一個(gè)節(jié)點(diǎn)發(fā)生故障時(shí),用其它正常的節(jié)點(diǎn)來(lái)代替問(wèn)題節(jié)點(diǎn)。

主從復(fù)制

幾乎所有的存儲(chǔ)系統(tǒng)都提供了主從復(fù)制的功能,例如 MySQL、Redis、MongoDB 等。

主從復(fù)制要點(diǎn):

  • 存在一主多從。
  • 主機(jī)負(fù)責(zé)讀&寫(xiě),并定期復(fù)制數(shù)據(jù)給從機(jī)。
  • 從機(jī)只負(fù)責(zé)讀。
  • 一旦主機(jī)宕機(jī),可以通過(guò)人工手段,將其中一個(gè)從節(jié)點(diǎn)作為主節(jié)點(diǎn)。

圖片圖片

圖片來(lái)源https://raw.githubusercontent.com/dunwu/images/master/snap/20200614184921.png

分片集群

主從復(fù)制有一個(gè)問(wèn)題,每個(gè)機(jī)器上存儲(chǔ)的都是全量數(shù)據(jù)。

但是,單機(jī)的數(shù)據(jù)存儲(chǔ)量總是有上限的,當(dāng)數(shù)據(jù)量上升為 TB 級(jí)甚至 PB 級(jí)數(shù)據(jù),單機(jī)終究有無(wú)法支撐的時(shí)候。這時(shí),就需要對(duì)數(shù)據(jù)進(jìn)行分片(sharding)。

分片后的節(jié)點(diǎn)可以視為一個(gè)獨(dú)立的子集,每個(gè)子集也要保證高可用降級(jí):系統(tǒng)拋棄部分不重要的功能,比如不發(fā)送短信通知,以此確保核心功能不受影響。。

圖片圖片

圖片來(lái)源https://raw.githubusercontent.com/dunwu/images/master/snap/20200614184921.png

服務(wù)可降級(jí)

如果故障無(wú)法正面方式解決,那我們要做的就是努力降低故障帶來(lái)的影響。比如說(shuō)流量太大,我們可以通過(guò)限流,來(lái)保證部分用戶可以正常使用,或者通過(guò)業(yè)務(wù)降級(jí)的手段,關(guān)閉一些次要功能,保證核心功能仍舊可用。

這次 B 站、小紅書(shū)亦是采取了該方案。

限流

限流則是從用戶訪問(wèn)壓力的角度來(lái)考慮如何應(yīng)對(duì)故障。限流指只允許系統(tǒng)能夠承受的訪問(wèn)量進(jìn)來(lái),超出系統(tǒng)訪問(wèn)能力的請(qǐng)求將被丟棄。

降級(jí)

降級(jí)指系統(tǒng)將某些業(yè)務(wù)或者接口的功能降低,可以是只提供部分功能,也可以是完全停掉所有功能。比如 B 站返回錯(cuò)誤引導(dǎo)頁(yè),以此確保核心功能不受影響。

拒絕服務(wù) - 拒絕低優(yōu)先級(jí)應(yīng)用的調(diào)用,減少服務(wù)調(diào)用并發(fā)數(shù),確保核心應(yīng)用正常使用?;蛘唠S機(jī)拒絕部分調(diào)用,節(jié)約資源,避免要死大家一起死的慘劇。

關(guān)閉服務(wù) - 關(guān)閉部分不重要的服務(wù),或者服務(wù)內(nèi)部關(guān)閉部分不重要的功能,以節(jié)約資源。

熔斷

熔斷和降級(jí)是兩個(gè)比較容易混淆的概念,因?yàn)閱渭儚拿稚峡春孟穸加薪鼓硞€(gè)功能的意思,但其實(shí)內(nèi)在含義是不同的,原因在于降級(jí)的目的是應(yīng)對(duì)系統(tǒng)自身的故障,而熔斷的目的是應(yīng)對(duì)依賴的外部系統(tǒng)故障的情況。

我們不去調(diào)用出問(wèn)題的服務(wù),讓系統(tǒng)繞開(kāi)故障點(diǎn),就像電路的保險(xiǎn)絲一樣,自己熔斷,切斷通路,避免系統(tǒng)資源大量被占用

監(jiān)控

在實(shí)踐中,系統(tǒng)的故障防不勝防,問(wèn)題的定位和解決也非常的困難,所以,要想全面保障系統(tǒng)的可用性,最重要的手段就是監(jiān)控。

通過(guò)監(jiān)控,我們可以實(shí)時(shí)地了解系統(tǒng)的當(dāng)前狀態(tài),這樣很多時(shí)候,業(yè)務(wù)還沒(méi)出問(wèn)題,我們就可以提前干預(yù),避免事故;而當(dāng)系統(tǒng)出現(xiàn)問(wèn)題時(shí),我們也可以借助監(jiān)控信息,快速地定位和解決問(wèn)題。

博主簡(jiǎn)介

碼哥,9 年互聯(lián)網(wǎng)公司后端工作經(jīng)驗(yàn),InfoQ 簽約作者、51CTO Top 紅人,阿里云開(kāi)發(fā)者社區(qū)專家博主,目前擔(dān)任后端架構(gòu)師主責(zé),擅長(zhǎng) Redis、Spring、Kafka、MySQL 技術(shù)和云原生微服務(wù)。

責(zé)任編輯:武曉燕 來(lái)源: 碼哥跳動(dòng)
相關(guān)推薦

2021-07-14 07:41:54

B站A站服務(wù)器

2016-02-17 13:31:35

智能交通華為

2020-12-21 11:12:34

區(qū)塊鏈物流技術(shù)

2021-07-15 07:23:48

高可用熱搜B站

2016-06-16 15:17:54

華為

2020-04-28 08:15:55

高可用架構(gòu)系統(tǒng)

2022-12-07 07:35:20

B站裁員隱情

2023-05-30 07:27:45

高可用架構(gòu)流量

2021-07-14 08:54:12

B站A站服務(wù)器

2021-06-07 18:00:46

淘寶移動(dòng)應(yīng)用

2021-07-15 09:50:31

服務(wù)器實(shí)踐 架構(gòu)

2020-02-18 13:59:29

高流量突發(fā)流量頻繁崩潰

2022-03-14 18:39:11

技術(shù)資訊

2009-06-16 09:10:00

數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)H3C

2022-08-04 10:31:33

智能網(wǎng)聯(lián)網(wǎng)絡(luò)直播網(wǎng)信辦

2022-03-16 10:14:55

C語(yǔ)言C++

2021-01-15 08:30:00

5G數(shù)據(jù)運(yùn)營(yíng)商

2024-11-06 14:42:45

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)