日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

如何开发一个可运维系统的一点体会

發(fā)布時間:2023/12/2 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何开发一个可运维系统的一点体会 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文來自網(wǎng)易云社區(qū)


作者:施勇

我們在開發(fā)一個復(fù)雜系統(tǒng)的時候,常常會強調(diào)服務(wù)化、模塊化、松散耦合等要求以達到高可用、高可靠及高性能等目的;比較少的人會考慮到系統(tǒng)的方便部署配置和運維,至少是在剛開始設(shè)計系統(tǒng)的時候很少考慮到運維部署方面的需求。這樣的復(fù)雜系統(tǒng),在正式投入使用之后,常常會因為部署配置和運維等方面問題造成系統(tǒng)不穩(wěn)定甚至出現(xiàn)異常。

根據(jù)整個系統(tǒng)的生命周期,運維占據(jù)的比例和時間遠遠大于開發(fā)設(shè)計的時間,當然是排除了一些夭折的系統(tǒng)。所以在開發(fā)設(shè)計系統(tǒng)的時候,需要加強對于運維方面的重視。一個好的系統(tǒng),除了受到產(chǎn)品用戶的歡迎之外,還需要得到運維人員的認可,才能讓系統(tǒng)更加健康地發(fā)展。反之,如果一個系統(tǒng)運維性較差,那么運維人員和開發(fā)人員可能會逐漸形成隔閡,進而影響整個系統(tǒng)的服務(wù)。

結(jié)合自己在開發(fā)和運維方面的經(jīng)歷,以及多年被無數(shù)短信告警騷擾的煩惱,談?wù)勗陂_發(fā)設(shè)計一個系統(tǒng)的可運維性方面需要注意的問題。


一、配置和部署

復(fù)雜系統(tǒng)在開發(fā)上線及運維的過程中,肯定需要經(jīng)歷各個不同的階段:開發(fā)測試、QA測試、上線前測試、上線、后續(xù)版本更新等。不同階段和環(huán)境下,系統(tǒng)都需要有不同的配置,對于配置和部署,最好能做到以下幾點:

  • 提供詳細的配置和部署手冊。

  • 提供適用典型場景的各個配置模板。

  • 提供靈活的關(guān)鍵參數(shù)可配置,以適應(yīng)各類復(fù)雜的運行環(huán)境;盡可能提供在線動態(tài)修改的方式。

  • 提供自動化的部署方案或腳本,在異常情況下能自動重啟恢復(fù)。


各類系統(tǒng)實際運維的過程中,經(jīng)常會出現(xiàn)下面的情況,需要盡量排除:

  • 針對線上環(huán)境,系統(tǒng)未能提供足夠的參數(shù)配置以適應(yīng)其負載或優(yōu)化服務(wù)。

  • 系統(tǒng)提供了足夠多的靈活可配置的參數(shù),但未針對線上環(huán)境進行優(yōu)化配置。

  • 系統(tǒng)程序?qū)懰懒伺渲媚夸浡窂降炔糠謪?shù)。


二、監(jiān)控告警

一個復(fù)雜系統(tǒng)在實際運行過程中,難免會出現(xiàn)各類無法預(yù)見的問題。為了讓系統(tǒng)在這種異常環(huán)境下還能提供穩(wěn)健的服務(wù),除了系統(tǒng)設(shè)計的容錯和健壯性之外,還需要的是無處不在的監(jiān)控和及時的告警。


類似天網(wǎng)的監(jiān)控

復(fù)雜系統(tǒng)至少需要監(jiān)控:


  • 系統(tǒng)整體服務(wù)的可用性、穩(wěn)定性和性能指標。

  • 外部依賴服務(wù)的可用性和穩(wěn)定性;若外部依賴服務(wù)影響自身服務(wù)的性能指標,需要對外部依賴服務(wù)做好性能監(jiān)控。

  • 系統(tǒng)內(nèi)部各個模塊的可用性、性能指標以及各模塊銜接的連續(xù)性。

  • 系統(tǒng)異常日志的監(jiān)控。

  • 系統(tǒng)后臺線程的健康狀態(tài),這點很容易被忽略。

  • 系統(tǒng)部署所在服務(wù)器和網(wǎng)絡(luò)的健康狀態(tài)。


系統(tǒng)需要提供對各項監(jiān)控內(nèi)容的查詢顯示,以便運維人員能夠隨時了解系統(tǒng)的運行狀態(tài);此外,最好能夠提供查詢API,方面運維集成。


智能的告警策略

當一個復(fù)雜的系統(tǒng)出現(xiàn)問題時,需要及時報警通知到相關(guān)的運維人員。在告警策略設(shè)計時,需要考慮到:


  • 不同的告警等級,根據(jù)系統(tǒng)服務(wù)異常的原因和影響的范圍,劃分為不同等級并便指導(dǎo)不同的告警策略。

  • 多樣的告警方式,至少支持IM、郵件和手機短信的三種方式告警。

  • 不同層級的告警接收人員。


告警等級

描述

告警方式和策略

告警接收人員

事故級

系統(tǒng)整體服務(wù)不可用或異常,造成業(yè)務(wù)損失

IM、郵件和手機短信;持續(xù)短間隔告警

運維、開發(fā)和產(chǎn)品業(yè)務(wù),以及各自部門領(lǐng)導(dǎo)

故障級

系統(tǒng)服務(wù)不穩(wěn)定,未對業(yè)務(wù)造成明顯影響

IM、郵件和手機短信;持續(xù)告警

運維、開發(fā),以及各自負責(zé)人

異常級

故障前兆,系統(tǒng)可能在不久將來出現(xiàn)故障

IM、郵件;固定周期告警

運維和開發(fā)人員

缺陷級

系統(tǒng)已知的缺陷,目前不會對整體服務(wù)產(chǎn)生影響

郵件;當系統(tǒng)觸發(fā)缺陷時告警

運維或開發(fā)人員

告警程序設(shè)計上,高等級的告警需要被優(yōu)先處理,不能因為低等級告警過多而造成高等級告警被延遲。同時需要支持對同類告警的暫停報警功能(暫停一段時間后自動恢復(fù)監(jiān)控報警),便于運維人員計劃性的維護操作。

告警內(nèi)容的可讀性,對于運維人員也非常重要,特別是手機短信告警的內(nèi)容,應(yīng)該能夠讓運維人員馬上定位到是哪個服務(wù)器所在的服務(wù)出現(xiàn)了哪類問題;最惱人的告警短信是各個環(huán)境系統(tǒng)都是相同的內(nèi)容:?xx服務(wù)出現(xiàn)異常,請檢查郵件和log?。

設(shè)計良好的系統(tǒng),需要有接入統(tǒng)一的報警監(jiān)控中心的能力。


三、故障處理

一個復(fù)雜系統(tǒng)需要提供良好的故障處理機制,包括故障預(yù)見、故障現(xiàn)場保留、故障智能處理等。


故障預(yù)見

系統(tǒng)在運行過程中,對其利用的資源和自身的運行狀態(tài)做好監(jiān)控,如果預(yù)見系統(tǒng)可能出現(xiàn)不穩(wěn)定等情況,需要加以處理和告警。系統(tǒng)可預(yù)見的故障可能有:


  • 所處的服務(wù)器硬件資源利用率上升,不久將來會到達上限,需要及時告警。

  • 系統(tǒng)設(shè)計的有限制的資源的使用量將達到配置限額,需要及時告警。

  • 系統(tǒng)處理效率突然降低,及時告警。一個容錯備份的分布式系統(tǒng),需及時屏蔽處理效率地下的組件,用其它備份的組件代替。

  • 系統(tǒng)接收處理的請求量突升或突降,及時告警。


故障現(xiàn)場保留

當系統(tǒng)出現(xiàn)故障后,需要對故障現(xiàn)場做好保留,便于后續(xù)分析、處理和改進。故障現(xiàn)場保留的方式通常可以有:


  • 日志。最簡單直接的方式,但在日志輸出格式和內(nèi)容方面,需要做好設(shè)計;既要保證對系統(tǒng)性能影響和資源占用足夠小,又要保留足夠的信息供運維人員和開發(fā)人員排查。

  • 性能和資源監(jiān)控平臺。詳細記錄服務(wù)器運行狀態(tài)和各類資源的使用情況,可以了解故障發(fā)生時候的服務(wù)器硬件運行狀態(tài)。


故障智能處理

一個復(fù)雜系統(tǒng),必須要做到可容錯和故障的自動處理及恢復(fù)。如果系統(tǒng)的可容錯和故障自動恢復(fù)做得還不完善情況下,至少需要提供可人工運維處理的接口。最怕的是系統(tǒng)做了部分的故障自動處理,但處理機制有問題,并且沒有提供有效的人工處理方式去解決,這個簡直是運維人員的噩夢!一個系統(tǒng)在交付運維的時候,運維手冊中必須包含各類故障的詳細處理方式。

系統(tǒng)可容錯和故障自動恢復(fù),典型的場景有:


  • 當某個依賴的底層服務(wù)異常情況下,系統(tǒng)自動屏蔽依賴此服務(wù)的請求或通過升降級方式繞過異常底層服務(wù);若不行,也必須在底層服務(wù)恢復(fù)正常后,系統(tǒng)能立即自動恢復(fù)。

  • 系統(tǒng)各個模塊之間的容錯性,包括部分模塊異常或者模塊銜接出現(xiàn)短暫問題,當問題解決后都需能立即恢復(fù)。

  • 包含多備份組件的系統(tǒng),當少數(shù)備份組件出現(xiàn)異常時候,其它備份需要立即接管其服務(wù),并能夠自動恢復(fù)到正常狀態(tài)。

  • 系統(tǒng)自動故障恢復(fù),需要盡可能以代價小的方式來恢復(fù),并做到整體資源可控。


當系統(tǒng)出現(xiàn)故障時,需要及時告警,通知運維和開發(fā)人員系統(tǒng)故障及對應(yīng)的處理方式。如果故障自動恢復(fù)需要一定時間,恢復(fù)的進度也需要定期報告。


四、小結(jié)

一個可運維和方便運維的系統(tǒng),不僅有助于運維人員快速掌握和上手運維,又能及時發(fā)現(xiàn)系統(tǒng)中可能存在的不穩(wěn)定的異常的因素,從而促進整個系統(tǒng)更好更健康的發(fā)展壯大。系統(tǒng)的可運維性,不單單是系統(tǒng)上線之后要考慮的問題,而是要在系統(tǒng)設(shè)計之初就應(yīng)該關(guān)注的一面,并且是貫穿到開發(fā)設(shè)計的各個階段中的。

以上僅僅是個人對可運維系統(tǒng)的一點體會,希望以后能多多出現(xiàn)這樣的系統(tǒng),助更多的運維和開發(fā)人員脫離疲于奔命救火的苦海。


網(wǎng)易云免費體驗館,0成本體驗20+款云產(chǎn)品!

更多網(wǎng)易研發(fā)、產(chǎn)品、運營經(jīng)驗分享請訪問網(wǎng)易云社區(qū)。


相關(guān)文章:
【推薦】?基于Redis+Kafka的首頁曝光過濾方案
【推薦】?知物由學(xué) | AI時代,那些黑客正在如何打磨他們的“利器”?(一)

轉(zhuǎn)載于:https://www.cnblogs.com/163yun/p/9674268.html

總結(jié)

以上是生活随笔為你收集整理的如何开发一个可运维系统的一点体会的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。