摘要:基于的軟件系統(tǒng)部署時分層為應用包包啟動腳本包這就是基線,三個環(huán)境中的分層,任何一層在發(fā)布上線過程中的不一致都會導致潛在的問題。人們發(fā)明了各種工具進行排包,判斷,目前仍無法完全確保這種情況的萬無一失。
一個軟件
數(shù)據(jù)活的一定比應用長,
應用活的可能比維護的人長
有年頭的老應用,通常最早的設(shè)計者已經(jīng)不在了。
最初關(guān)注點,業(yè)務域的約束,以及為什么在這里是這么設(shè)計的信息都沒有了。通常除了原創(chuàng)者,接手做維護的人,沒有有全面的了解,可能也沒有主觀意愿想讓其繼續(xù)更好的工作下去。
設(shè)計是一個講究權(quán)衡的過程,了解的信息越多,越能更好的選擇策略。
所以后續(xù)的維護者會遇到以下問題范式:
基線問題正常發(fā)布上線會經(jīng)歷三個日常,預發(fā),線上三個環(huán)境。我們希望三個環(huán)境完全一致?;趌inux的軟件系統(tǒng)部署時分層為:
應用包
jar包
啟動腳本
RPM包
OS
這就是基線,三個環(huán)境中的分層,任何一層在發(fā)布上線過程中的不一致都會導致潛在的問題。
隨著時間推移,無論是誰在某臺機上因為一些原因,動了一下腳本,問題就開始了。 可能在某個環(huán)境測試正常的應用,在下個環(huán)節(jié)就出了莫名其妙的情況。
這也是為什么一定要在組織中推動鏡像化,docker形式的集裝箱式封裝,保證了以上幾種層次在各個環(huán)境的一致性。杜絕前任跟下任埋坑。
我也曾遇到過日常預發(fā)的中間件基線版本跟較高,而線上中間件基線用的是已經(jīng)找不到的老包,并且與部署系統(tǒng)用的基線仍不一致,這樣的應用連無狀態(tài)擴容都不行。
日志問題日志是線上系統(tǒng)查問題利器,隨著不斷遇到問題,工程師傾向于打越來越多的日志。
INFO級的日志過多,線上系統(tǒng)一般會采用WARN級以上的打印級別。為了能看到日志,會有人把日志打到WARN,ERROR級別。
慢慢的,普通的排查日志取代了正常應該顯示異常ERROR的日志,填滿了正常輸出,讓初次看的人無從下手。只能靠看Exception,但畢竟不是有Exception就會導致系統(tǒng)業(yè)務異常,需要一段時間的觀察才有更好的判斷。
沖突問題通常老應用在每次功能增加后,都有可能引入新的jar包。
由于maven的機制,新包會帶來更多附帶的包,這些問題在編譯時并不能發(fā)現(xiàn),只有隨著JVM啟動,業(yè)務線程跑到此處時類加載器才會報出Class Not Found/java.lang.NoClassDefFoundError 等問題。
人們發(fā)明了各種工具進行排包,判斷,目前仍無法完全確保這種情況的萬無一失。比如,還有一種方式通過掃描應用WEB-INF下的lib包名來輔助判斷是否有相似jar包。
所以每個應用都有它的故事,devops應有對以上問題處理的意識。
本文來自微信公眾號「麥芽面包」,id「darkjune_think」
轉(zhuǎn)載請注明。長按圖片識別二維碼關(guān)注。
交流Email: zhukunrong@yeah.net
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/70888.html
摘要:作為目前最主流的微服務框架,發(fā)展速度很快,成為了最全面的微服務解決方案。通過認證后,轉(zhuǎn)發(fā)給內(nèi)部相應的服務器。所有遠程訪問資源服務器相關(guān)的必須提供。 Part 1 - 理論相關(guān) 作者 freewolf 關(guān)鍵詞 微服務、Spring Cloud、OAuth 2.0、JWT、Spring Security、SSO、UAA 寫在前面 作為從業(yè)了十多年的IT行業(yè)和程序的老司機,今天如果你說你不懂...
摘要:作為目前最主流的微服務框架,發(fā)展速度很快,成為了最全面的微服務解決方案。通過認證后,轉(zhuǎn)發(fā)給內(nèi)部相應的服務器。所有遠程訪問資源服務器相關(guān)的必須提供。 Part 1 - 理論相關(guān) 作者 freewolf 關(guān)鍵詞 微服務、Spring Cloud、OAuth 2.0、JWT、Spring Security、SSO、UAA 寫在前面 作為從業(yè)了十多年的IT行業(yè)和程序的老司機,今天如果你說你不懂...
摘要:為了提供更優(yōu)質(zhì)的學習資源,巨杉數(shù)據(jù)庫的技術(shù)大牛錄制了一套視頻教程,以簡單直觀的方式提供大家學習使用巨杉數(shù)據(jù)庫。如果你是剛剛接觸巨杉數(shù)據(jù)庫的用戶,本套教程會讓你對巨杉產(chǎn)生一套完整的認知,并系統(tǒng)的掌握使用方法。 作為一個程序員 在經(jīng)歷了種種入門之后…showImg(https://segmentfault.com/img/bVMhAI?w=640&h=406); showImg(https...
摘要:而漸進增強和優(yōu)雅降級兩種不同的開發(fā)流程,也是在我們項目初期做調(diào)研選型時會考慮的一個點。二者區(qū)別漸進增強和優(yōu)雅降級只是看待同種事物的兩種觀點。漸進增強和優(yōu)雅降級都關(guān)注于同一網(wǎng)站在不同設(shè)備里不同瀏覽器下的表現(xiàn)程度。 作為一名前端開發(fā)人員,最頭疼的莫過于瀏覽器兼容。遠古時期萬惡的IE6,到現(xiàn)在CSS3不兼容的IE7/8.為了保證不同版本瀏覽器都有共同或更優(yōu)化的用戶體驗,前端搬磚的我們不得不與...
閱讀 1837·2021-09-23 11:21
閱讀 699·2019-08-30 15:55
閱讀 833·2019-08-29 15:40
閱讀 529·2019-08-29 12:56
閱讀 3158·2019-08-26 12:00
閱讀 3553·2019-08-23 18:24
閱讀 2247·2019-08-23 17:08
閱讀 1637·2019-08-23 17:03