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

如何向面試官證明你做的系統(tǒng)是高可用的?

開發(fā) 架構(gòu)
在解釋架構(gòu)設(shè)計時,你會逐步向面試官證明自己負責(zé)的系統(tǒng)如何實現(xiàn)高可用性。這需要涉及一個公認(rèn)的指標(biāo) - 服務(wù)水平協(xié)議(Service-Level Agreement,SLA)。服務(wù)水平協(xié)議是由服務(wù)提供者和用戶雙方簽訂的合同或協(xié)議,規(guī)定了雙方的商務(wù)關(guān)系或部分商務(wù)關(guān)系。簡單來說,SLA是衡量服務(wù)可用性的一個重要指標(biāo)。

通常,面試官在評估你的系統(tǒng)架構(gòu)設(shè)計能力時,經(jīng)常會要求你分享在上一家公司如何設(shè)計系統(tǒng)架構(gòu),以便了解你的設(shè)計能力和思維過程。

在解釋架構(gòu)設(shè)計時,你會逐步向面試官證明自己負責(zé)的系統(tǒng)如何實現(xiàn)高可用性。這需要涉及一個公認(rèn)的指標(biāo) - 服務(wù)水平協(xié)議(Service-Level Agreement,SLA)。服務(wù)水平協(xié)議是由服務(wù)提供者和用戶雙方簽訂的合同或協(xié)議,規(guī)定了雙方的商務(wù)關(guān)系或部分商務(wù)關(guān)系。簡單來說,SLA是衡量服務(wù)可用性的一個重要指標(biāo)。

業(yè)界通常使用"幾個9"的標(biāo)準(zhǔn)來衡量互聯(lián)網(wǎng)應(yīng)用的可用性。例如,京東的可用性是四個9(99.99%)。這意味著京東的服務(wù)承諾在所有運行時間中只有0.01%的不可用時間,也就是說一年中只有大約52.6分鐘不可用。這個99.99%被稱為系統(tǒng)的可用性指標(biāo)。

52.6 分鐘是怎么計算出來的呢?

圖片圖片

從公式中可以看出, SLA 等于 4 個 9,也就是可用時長達到了 99.99% ,不可用時長則為是0.01%,一年是 365 天, 8760 個小時,一年的不可用時長就是 52.6 分鐘,那么:

SLA 等于 3 個 9,就相當(dāng)于一年不可用時長等于 526 分鐘;

SLA 等于 5 個 9,就相當(dāng)于一年不可用時長等于 5.26 分鐘。

可以發(fā)現(xiàn),用 SLA 等于 4 個9 作為參照物,少個 9 相當(dāng)于小數(shù)點往后移一位,多個 9 相當(dāng)于小數(shù)點往前移一位(我把系統(tǒng)可用性指標(biāo)總結(jié)成一張表格)。

圖片圖片

案例分析

在評估系統(tǒng)的高可用性時,僅僅按時間指標(biāo)度量是不夠的。因為在互聯(lián)網(wǎng)公司,低峰期和高峰期對業(yè)務(wù)的影響是不同的,這需要綜合考慮。你可以采用以下方法來回答關(guān)于高可用性的問題:

  1. 度量方式的選擇:首先介紹兩種主要的度量方式,即"幾個9"的概念和影響請求量占比的方式,解釋它們的優(yōu)缺點。
  2. 綜合考慮:強調(diào)在實際業(yè)務(wù)中,綜合考慮兩種度量方式更有利于全面評估高可用性。舉例說明在不同時間段停機對業(yè)務(wù)的不同影響。
  3. 科學(xué)性和實際性:說明使用請求量占比來評估高可用性更科學(xué),因為它更直接地關(guān)聯(lián)到業(yè)務(wù)損失。然后,結(jié)合實際業(yè)務(wù)場景,展示你的思考和決策,以體現(xiàn)你的實踐經(jīng)驗和專業(yè)性。
  4. 閉環(huán)思路:提到"可評估"、"可監(jiān)控"和"可保證"的思路,強調(diào)了綜合性的方法,不僅僅依賴于理論概念,還需要實際的措施來確保高可用性。

案例解答

我們可以通過設(shè)計一個監(jiān)控系統(tǒng)來保證系統(tǒng)服務(wù)SLA達到四個9,這個監(jiān)控系統(tǒng)可以分為三個核心部分:基礎(chǔ)設(shè)施監(jiān)控報警、系統(tǒng)應(yīng)用監(jiān)控報警,以及存儲服務(wù)監(jiān)控報警。通過這個監(jiān)控系統(tǒng)的設(shè)計,我們可以更好地了解哪些環(huán)節(jié)對整個系統(tǒng)的可用性產(chǎn)生影響,這將幫助我們在面試中更清晰地展示系統(tǒng)高可用性設(shè)計的理念。

基礎(chǔ)設(shè)施監(jiān)控

監(jiān)控報警指標(biāo)分為兩種類型。

系統(tǒng)要素指標(biāo):主要有 CPU、內(nèi)存,和磁盤。

網(wǎng)絡(luò)要素指標(biāo):主要有帶寬、網(wǎng)絡(luò) I/O、CDN、DNS、安全策略、和負載策略。

為什么我們要監(jiān)控這些指標(biāo)?因為它們是判斷系統(tǒng)的基礎(chǔ)環(huán)境是否為高可用的重要核心指標(biāo)。

圖片圖片

監(jiān)控工具有一些常見的選擇,它們可以幫助你有效地監(jiān)控系統(tǒng)的性能。這些工具包括:

  1. ZABBIX:這是一個開源的監(jiān)控系統(tǒng),非常流行且具有廣泛的資料支持。它可以監(jiān)控系統(tǒng)的各種關(guān)鍵指標(biāo),如CPU使用率、內(nèi)存、磁盤、網(wǎng)絡(luò)帶寬等。
  2. Open-Falcon:由小米開源的監(jiān)控系統(tǒng),受到小米、滴滴、美團等公司內(nèi)部的廣泛應(yīng)用。它也可以監(jiān)控各種基礎(chǔ)設(shè)施指標(biāo)。
  3. Prometheus:這是另一個開源的監(jiān)控系統(tǒng),特別擅長支持Kubernetes(K8S)環(huán)境的監(jiān)控。它也可以監(jiān)控CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等指標(biāo)。

這些工具提供了豐富的監(jiān)控功能,可以幫助你監(jiān)測系統(tǒng)的各個方面,從基礎(chǔ)的CPU和內(nèi)存使用到更高級的K8S監(jiān)控。此外,你還可以結(jié)合運營商提供的監(jiān)控平臺,以覆蓋整個基礎(chǔ)設(shè)施監(jiān)控的需求。

監(jiān)控報警策略一般由時間維度、報警級別、閾值設(shè)定三部分組成。

圖片圖片

為了幫助你更好地理解監(jiān)控報警策略,讓我用一個例子來說明。假設(shè)我們正在監(jiān)控一個系統(tǒng)的CPU、內(nèi)存和磁盤使用情況,監(jiān)測的時間間隔是每分鐘,并且我們設(shè)置了一些占比的閾值。基于這些條件,我們可以制定以下監(jiān)控報警策略:

圖片圖片

為了第一時間監(jiān)測到指標(biāo)的健康度,報警級別可以分為緊急、重要,以及一般。當(dāng) CPU、內(nèi)存,以及磁盤使用率這三項指標(biāo)的每分鐘采集的指標(biāo)達到 90% 使用率時,就觸發(fā)“緊急報警”;達到 80% 觸發(fā)“重要報警”;70% 觸發(fā)“一般報警”。

系統(tǒng)應(yīng)用監(jiān)控

業(yè)務(wù)狀態(tài)監(jiān)控報警是關(guān)注系統(tǒng)自身狀態(tài)的監(jiān)控報警,與基礎(chǔ)設(shè)施監(jiān)控類似,它也由監(jiān)控指標(biāo)、監(jiān)控工具和報警策略組成。不同之處在于,系統(tǒng)應(yīng)用監(jiān)控報警的核心監(jiān)控指標(biāo)主要包括以下6個關(guān)鍵指標(biāo):流量、耗時、錯誤、心跳、客戶端數(shù)和連接數(shù)。用于實現(xiàn)這些監(jiān)控指標(biāo)的工具包括CAT、SkyWalking、Pinpoint、Zipkin等。

圖片圖片

存儲服務(wù)監(jiān)控

一般來講,常用的第三方存儲有 DB、ES、Redis、MQ 等。

在面試中,當(dāng)回答關(guān)于監(jiān)控和保障系統(tǒng)可用性的問題時,可以結(jié)合三個核心監(jiān)控部分(基礎(chǔ)設(shè)施監(jiān)控、系統(tǒng)應(yīng)用監(jiān)控、存儲服務(wù)監(jiān)控)來闡述你的全局監(jiān)控視角,強調(diào)你的設(shè)計思路。例如,你可以這樣回答:

"為了確保系統(tǒng)的可用性和穩(wěn)定性,我設(shè)計了一套綜合性的監(jiān)控體系,用于在生產(chǎn)環(huán)境中對系統(tǒng)進行全面監(jiān)控。這包括基礎(chǔ)設(shè)施、系統(tǒng)應(yīng)用和存儲服務(wù)的監(jiān)控。具體的監(jiān)控指標(biāo)和細節(jié)可以根據(jù)實際業(yè)務(wù)場景進行定制,比如在游戲領(lǐng)域,我們更關(guān)注流量和客戶端連接數(shù)等關(guān)鍵指標(biāo)。這種綜合性的監(jiān)控系統(tǒng)有助于我們迅速發(fā)現(xiàn)潛在問題并及時采取措施來維護系統(tǒng)的高可用性。"

當(dāng)面試官進一步追問如何應(yīng)對線上告警時,你可以回答:

"當(dāng)面對線上告警時,我會迅速響應(yīng),并根據(jù)告警的嚴(yán)重性采取相應(yīng)的措施。首先,我會查看告警的詳細信息,分析問題所在,以確定是否是假警報或真實問題。如果是真實問題,我將根據(jù)事先設(shè)定的報警策略來通知相關(guān)團隊成員。然后,我們會在團隊內(nèi)部協(xié)作,采取緊急措施來解決問題,包括故障排查、系統(tǒng)恢復(fù)和監(jiān)控指標(biāo)調(diào)整等。一旦問題得到解決,我會進行事后分析,以確保我們可以從中吸取教訓(xùn),以防止未來類似問題的發(fā)生??傊?,我會盡最大努力確保系統(tǒng)的高可用性,同時確保及時有效地響應(yīng)和處理告警情況。"

這種回答方式突出了你對全局監(jiān)控和緊急事件處理的理解,以及你的責(zé)任感和應(yīng)對危機的能力。

對于線上故障,要有應(yīng)急響應(yīng)機制,我總結(jié)以下幾點供你參考:

圖片圖片

總結(jié)

  1. 系統(tǒng)高可用評估:在面試中,我們學(xué)習(xí)了如何評估系統(tǒng)的高可用性,強調(diào)了以停機時間對系統(tǒng)請求量的影響作為科學(xué)評估指標(biāo)。
  2. 監(jiān)控系統(tǒng)設(shè)計:了解了設(shè)計監(jiān)控系統(tǒng)時的三個核心要點,包括基礎(chǔ)設(shè)施監(jiān)控、系統(tǒng)應(yīng)用監(jiān)控和存儲服務(wù)監(jiān)控。這有助于確保線上服務(wù)的穩(wěn)定運行。
  3. 故障處理:強調(diào)了故障處理是進階過程中不可或缺的經(jīng)歷,面試官也特別重視這個能力。對于不同類型的故障,建議形成一套體系化的知識框架來處理。

圖片圖片

責(zé)任編輯:武曉燕 來源: 二進制跳動
相關(guān)推薦

2025-03-10 11:48:22

項目服務(wù)設(shè)計

2024-05-11 15:11:44

系統(tǒng)軟件部署

2024-02-28 10:14:47

Redis數(shù)據(jù)硬盤

2015-08-13 10:29:12

面試面試官

2025-02-26 12:19:52

2023-12-19 09:24:22

LinuxBIOSUEFI

2019-06-06 10:55:02

JDK高并發(fā)框架

2015-08-24 09:00:36

面試面試官

2021-07-09 10:11:34

Redis云數(shù)據(jù)技術(shù)

2019-03-22 09:47:44

RPC框架面試官

2024-02-04 10:08:34

2024-12-25 15:44:15

2024-06-06 11:38:55

2021-08-03 07:51:43

React項目面試

2024-11-08 13:36:09

2024-10-15 10:00:06

2014-03-20 10:00:21

硅谷面試

2025-02-12 08:43:06

2023-02-08 07:04:20

死鎖面試官單元

2021-05-08 08:35:33

Webpack前端性能
點贊
收藏

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