來(lái)源:無(wú)錫網(wǎng)站建設(shè)阿凡達(dá) 瀏覽次數(shù):304 發(fā)表日期:2023-05-19
在實(shí)現(xiàn)系統(tǒng)的自動(dòng)化時(shí),可能沒有任何方法可以確定全部服務(wù)器是否都正確配置了某一個(gè)系統(tǒng)。如果部署一個(gè)審核系統(tǒng),那么它就可以執(zhí)行一個(gè)自動(dòng)化過程,確定某個(gè)屬性(如配置文件中的某個(gè)設(shè)置)在成百上千個(gè)服務(wù)器中是否保持一致。在自動(dòng)化過程中,審核可能非常簡(jiǎn)單,如驗(yàn)證某一個(gè)配置在一組服務(wù)器中的完整性。例如,驗(yàn)證某一個(gè)版本的Apache配置是正確的,而且在所有服務(wù)器上都保持一致,或者一組服務(wù)器都使用了一個(gè)相同的配置文件。事實(shí)上,即使部署了高級(jí)配置管理框架,有一些東西仍然會(huì)發(fā)生變化,不能保持同步,因此使用一種方法去驗(yàn)證服務(wù)器、應(yīng)用程序和配置的狀態(tài),仍然是自動(dòng)化過程的重要組成部分;如果基礎(chǔ)架構(gòu)出現(xiàn)了問題,那么一定要再次檢查基礎(chǔ)架構(gòu)的各個(gè)組件。
定要注意,不同的配置管理或自動(dòng)化框架會(huì)采用不同的方式去審核一個(gè)基礎(chǔ)架構(gòu)或多個(gè)服務(wù)器、操作系統(tǒng)、應(yīng)用程序及其配置參數(shù)。通常,審核一個(gè)Web基礎(chǔ)架構(gòu)的所有方面需要耗費(fèi)大量的時(shí)間,但是與其當(dāng)出現(xiàn)問題時(shí)才考慮必須審核哪些東西,不如想好哪些是不能不審核的。假如,生產(chǎn)網(wǎng)站出現(xiàn)了一個(gè)嚴(yán)重問題??赡苓@個(gè)網(wǎng)站每月的用戶訪問量可達(dá)上百萬(wàn)次,每年能夠產(chǎn)生50萬(wàn)美元的收益。當(dāng)召集所有人開會(huì)時(shí)關(guān)鍵是要確定出現(xiàn)了什么問題,以及如何解決這個(gè)問題。這時(shí),問題可能就是由于應(yīng)用程序代碼的版本不一致而引起的。大多數(shù)編程語(yǔ)言都會(huì)在應(yīng)用程序的二進(jìn)制文件中使用一種配置清單文件來(lái)確定Web服務(wù)器或應(yīng)用服務(wù)器中所部署的應(yīng)用程序版本。
現(xiàn)在,一個(gè)中等規(guī)模的網(wǎng)站基礎(chǔ)架構(gòu)就可能包含50-1000Web服務(wù)器和應(yīng)用服務(wù)器。其中包含了大量的操作系統(tǒng)、應(yīng)用程序、配置文件和參數(shù),這時(shí)我們要逐一排查,才能確定可能導(dǎo)致問題和影響網(wǎng)站訪問體驗(yàn)的方面。
此刻應(yīng)該使用審核軟件來(lái)確定哪些服務(wù)器出現(xiàn)了問題。在該例中,某個(gè)應(yīng)用程序二進(jìn)制文件的版本不一致性是問題的根源。下一步就是確定哪一些Web服務(wù)器或應(yīng)用服務(wù)器出現(xiàn)了問題,這樣才能確定應(yīng)該從哪里開始解決問題。同樣,一些好的審核框架可以幫我們創(chuàng)建用于修復(fù)當(dāng)前服務(wù)器的補(bǔ)丁包,然后再將它們部署到所有確認(rèn)出現(xiàn)問題的服務(wù)器上。
審核過程中*難的一步是確定要審核哪些部分。這個(gè)過程取決于正在運(yùn)行的應(yīng)用程序類型、源代碼管理和部分方式、源代碼庫(kù)的類型、所使用的編程語(yǔ)言、操作系統(tǒng)及管理方式和業(yè)務(wù)需求。如果一個(gè)環(huán)境可以容忍較長(zhǎng)的停機(jī)時(shí)間,例如那些不會(huì)產(chǎn)生收益的網(wǎng)站,那么它的審核要求肯定低于那些每小時(shí)能產(chǎn)生大量收益的網(wǎng)站。后面一種環(huán)境需要使用一種高度可控和自動(dòng)化的方法來(lái)確定出現(xiàn)問題的位置。
在一個(gè)完全虛擬化的環(huán)境中,所有應(yīng)用程序都運(yùn)行在一種虛擬化平臺(tái)上,只要有一個(gè)分配框架負(fù)責(zé)重新安裝虛擬服務(wù)器和重新部署應(yīng)用程序代碼,我們就沒有必要引入一個(gè)復(fù)雜的審核框架,也沒有必要花太多時(shí)間去確定發(fā)生問題的位置,除非這個(gè)問題總是頻繁地重復(fù)發(fā)生。如果完全重建一個(gè)服務(wù)器并部署應(yīng)用程序只需要8~15分鐘,那么就沒有必要去確定這個(gè)服務(wù)器所出現(xiàn)的問題。
然而,在一個(gè)固定的基礎(chǔ)架構(gòu)或者一個(gè)未使用服務(wù)器虛擬化的基礎(chǔ)架構(gòu)中,審核是非常重要的。在這種環(huán)境中,我們無(wú)法使用實(shí)時(shí)快照自動(dòng)回滾修改,也不能啟動(dòng)一個(gè)完全重建整個(gè)服務(wù)器及應(yīng)用程序的過程。
注意即使沒有使用虛擬化技術(shù),有一些配置管理框架仍然能夠保存數(shù)據(jù)庫(kù)的修改歷史記錄,并支持實(shí)時(shí)回滾修改。
與虛擬化環(huán)境相比,固定環(huán)境對(duì)于錯(cuò)誤的容忍度較小,因此它們必須確定需要審核哪些文件、配置和應(yīng)用程序。有一些方法可以解決很大一部分問題,如源代碼管理知識(shí)庫(kù),但是它們無(wú)法解決由系統(tǒng)級(jí)配置變化引起的問題,如安裝內(nèi)核補(bǔ)丁,更新網(wǎng)卡、磁盤控制器的固件和設(shè)備驅(qū)動(dòng)程序,等等。這些修改通常會(huì)產(chǎn)生意想不到的結(jié)果,然后工程師必須自行分析哪些網(wǎng)卡出現(xiàn)了問題,然后才能在所有系統(tǒng)上逐一解決問題。
審核框架有以下優(yōu)點(diǎn):
尋找一些未知問題;
改進(jìn)系統(tǒng)與應(yīng)用程序的性能;
幫助Web基礎(chǔ)架構(gòu)從問題恢復(fù),避免出現(xiàn)幾小時(shí)甚至幾天的停機(jī)時(shí)間;
在網(wǎng)站設(shè)計(jì)Web基礎(chǔ)架構(gòu)出現(xiàn)問題時(shí),定位那些日志或監(jiān)控系統(tǒng)都無(wú)法定位的問題位置。
免費(fèi)答疑熱線
400-189-1319
添加微信