日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
穩(wěn)定性與高可用保障的工作思路

一 、深入理解穩(wěn)定性與高可用性

穩(wěn)定性是數(shù)學或工程上的用語,判別一系統(tǒng)在有界的輸入是否也產(chǎn)生有界的輸出。若是,稱系統(tǒng)為穩(wěn)定;若否,則稱系統(tǒng)為不穩(wěn)定。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比徽縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式徽縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務覆蓋徽縣地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

再看看高可用性的:

高可用性(英語:high availability,縮寫為 HA),IT術(shù)語,指系統(tǒng)無中斷地執(zhí)行其功能的能力,代表系統(tǒng)的可用性程度。是進行系統(tǒng)設(shè)計時的準則之一。高可用性系統(tǒng)與構(gòu)成該系統(tǒng)的各個組件相比可以更長時間運行。

首先從穩(wěn)定性的定義中提煉出關(guān)鍵的詞語 -- 系統(tǒng)、輸入、輸出。在螞蟻當下的技術(shù)架構(gòu)中,可以把一個應用當做系統(tǒng),應用之間的服務請求為輸入,服務響應為輸出,當服務響應符合預期時認為應用系統(tǒng)是穩(wěn)定的。當他們相互組合形成一個更大的系統(tǒng),作為業(yè)務產(chǎn)品對用戶表達時,用戶的請求作為輸入,產(chǎn)品的表達作為輸出,當產(chǎn)品功能正常運行時可以認為產(chǎn)品系統(tǒng)是穩(wěn)定的。綜上,關(guān)于穩(wěn)定性的定義我們可以總結(jié)歸納為 -- 當系統(tǒng)接收輸入后,能夠產(chǎn)生正確的、符合預期的輸出,稱系統(tǒng)為穩(wěn)定;否則,稱系統(tǒng)為不穩(wěn)定。 再回到命題上,為什么叫穩(wěn)定性保障?能不能換一個說法叫提高穩(wěn)定性?通過上文的定義我們可以總結(jié)出,穩(wěn)定性描述的是系統(tǒng)的行為。一個系統(tǒng)是否穩(wěn)定,就像我們評價一個人是否健康一樣,很難用陳述的方式進行完整的描述,去量化。但是卻可以通過否定的方式進行快速地判斷。人們通過良好的飲食和生活習慣來減少疾病的發(fā)生,保持身體的健康。保障系統(tǒng)的穩(wěn)定性或者說提高系統(tǒng)的穩(wěn)定性也是如此,我們需要通過各種方法來避免那些不穩(wěn)定的情況發(fā)生。所謂的更穩(wěn)定,客觀上并不存在,是主觀上希望避免或者減少不穩(wěn)定的情況發(fā)生。 與穩(wěn)定性不同,可用性是一個可以量化的指標,計算的公式在維基百科中是這樣描述的:

根據(jù)系統(tǒng)損害、無法使用的時間,以及由無法運作恢復到可運作狀況的時間,與系統(tǒng)總運作時間的比較。

我們經(jīng)常聽到的3個9(99.9%),4個9(99.99%)度量的就是系統(tǒng)的可用性,高可用就是要保證系統(tǒng)的這個指標維持在一個高水平。在公式的定義描述中,將系統(tǒng)的運行時間分成了三個部分

  • 系統(tǒng)正常運作的時間,即系統(tǒng)處于穩(wěn)定狀態(tài)的時間。
  • 系統(tǒng)損害、無法使用的時間,即系統(tǒng)處于非穩(wěn)定狀態(tài)的時間。
  • 系統(tǒng)由無法運作恢復到可運作狀況的時間,即系統(tǒng)由非穩(wěn)定狀態(tài)恢復到穩(wěn)定狀態(tài)的時間。

系統(tǒng)的可用性和系統(tǒng)的穩(wěn)定性是成正相關(guān)的。不過在現(xiàn)實生活中,系統(tǒng)是不可能永遠處于穩(wěn)定狀態(tài)。逆向思考,將上述的公式進行轉(zhuǎn)換,更有利于我們進行分析:

至此,本次命題的目標,KPI就清晰了。保障系統(tǒng)的穩(wěn)定性和高可用的目標是使系統(tǒng)處于穩(wěn)定的工作狀態(tài),對用戶不產(chǎn)生負面的影響,避免線上問題和P級故障的發(fā)生。核心kpi是系統(tǒng)的可用性。為了提高系統(tǒng)的可用性,我們應該首先保障系統(tǒng)的穩(wěn)定性,減少非穩(wěn)定狀況的發(fā)生,其次當系統(tǒng)由于各個組成部分發(fā)生故障,出現(xiàn)非穩(wěn)定狀態(tài)時,能夠快速發(fā)現(xiàn)并將其恢復到穩(wěn)定可用的狀態(tài)。

二、 穩(wěn)定性與高可用保障的核心思路

通過上文的推演,針對提高系統(tǒng)可用性這一目標,我們能夠得到兩個基本的解題思路。按圖索驥,為了解決問題,首要的任務是發(fā)現(xiàn)和定義問題。因此為了提高系統(tǒng)的穩(wěn)定性,我們先列舉應用系統(tǒng)中常見的非穩(wěn)定的情況,再一一對癥下藥:

  • 功能:應用程序執(zhí)行的功能出現(xiàn)錯誤,不符合預期。
  • 容量:當系統(tǒng)接收的請求數(shù)量增加時,應用程序無法正常處理,出現(xiàn)異?;虺瑫r,導致服務失效。
  • 安全:當系統(tǒng)接收到的沒有授權(quán)的或者惡意攻擊的請求時,應用程序出現(xiàn)異常甚至服務失效。
  • 容錯:對于用戶錯誤的使用方式, 應用程序無法合適地處理。

當上述情況發(fā)生時,就意味著系統(tǒng)處于不穩(wěn)定的狀態(tài),需要我們能夠及時發(fā)現(xiàn)并進行處理。而造成這些問題的原因,在軟件系統(tǒng)中通??梢詺w結(jié)為以下三類:

  • 人為故障:在開發(fā)軟件的各個環(huán)節(jié)中思考不充分,或者執(zhí)行時粗心導致的各類問題。
  • 硬件故障:網(wǎng)絡不通,硬盤空間不夠,內(nèi)存崩潰等。
  • 軟件故障:線程池異常,JVM異常,中間件或其他依賴的應用服務異常。

對于一個動態(tài)演進的系統(tǒng)而言,我們沒有辦法將故障發(fā)生的概率降為0,只能通過在軟件生產(chǎn)的過程中,建立流程規(guī)范和機制來盡量減少其發(fā)生。其次對于一個運行的系統(tǒng),我們需要建立并完善監(jiān)控和預警機制來及時發(fā)現(xiàn)系統(tǒng)中的故障,并通過執(zhí)行預案使系統(tǒng)快速恢復。基于上述結(jié)論,為了提高系統(tǒng)的可用性,需要從以下三個方面入手開展工作:故障預防,故障發(fā)現(xiàn)和故障恢復。

人犯錯的幾率是遠遠大于機器的,因此故障預防最重要的是建立一套機制,在團隊內(nèi)達成共識并持續(xù)按照此流程開展研發(fā)工作,從而減少個人因素(思考、執(zhí)行、狀態(tài)等方面)對系統(tǒng)穩(wěn)定性的影響。而故障發(fā)現(xiàn)以及故障恢復,則是需要通過系統(tǒng)監(jiān)控和應急方案來快速發(fā)現(xiàn)系統(tǒng)異常并恢復,從而盡量減輕故障的影響面。下面以螞蟻日常的產(chǎn)品研發(fā)流程為例,從功能、容量、安全、容錯這4個核心要素出發(fā),給出一套方案僅供參考。

1. 研發(fā)規(guī)范

(1)設(shè)計階段

    1)團隊細分文檔模板

    2)高可用設(shè)計規(guī)范

 (2)編碼階段

     1)代碼規(guī)范

  • 通用代碼規(guī)范
  • 工程結(jié)構(gòu)規(guī)范

      2)單測覆蓋率

  • 單測通過率
  • 代碼覆蓋率

       3)日志規(guī)范

       4)安全漏洞修復規(guī)范

 (3)發(fā)布階段

 (4)變更規(guī)范:三板斧

2.容量保障

 (1)容量評估

       1)機器容量

        2)DB容量

         3)緩存容量

  (2)壓測摸底

  (3)限流方案

  (4)降級方案

3. 監(jiān)控告警

  (1)日志規(guī)范

  (2)監(jiān)控梳理

        1)應用基礎(chǔ)監(jiān)控

         2)網(wǎng)關(guān)監(jiān)控

         3)服務監(jiān)控

         4)業(yè)務監(jiān)控

         5)限流監(jiān)控

 (3)告警規(guī)范

 (4)數(shù)據(jù)核對

4. 應急快反

 (1)日常預案

        1)硬件異常預案

        2)中間件異常預案

        3)業(yè)務異常預案

 (2)大促預案

 (3)預案執(zhí)行規(guī)范

三、總結(jié)

如何做好穩(wěn)定性和高可用保障是一個很龐大的命題,其中的任一小部分內(nèi)容在內(nèi)網(wǎng)都可以搜到大量的文章。寫這篇文章的目的是總結(jié)一下自己對穩(wěn)定性和高可用保障工作的理解,給大家分享一套系統(tǒng)的框架思路。希望大家在讀后能夠更全面的了解安全生產(chǎn),不陷于細節(jié)。


文章名稱:穩(wěn)定性與高可用保障的工作思路
文章地址:http://www.dlmjj.cn/article/dhpspgs.html