服務掛了,怎麽自動恢復?
阿新 • • 發佈:2019-05-15
高可用 高性能 知識 監控 故障 退出 管理功能 Superviso 這樣的 大家或許都碰到過這樣的情況:
tomcat掛了,站點應用訪問不了
service出core了,服務掛了
架構設計上,避免單點,使用故障自動轉移固然能夠保證系統的高可用,是否還有其他的方案,讓掛掉的服務自動啟動呢,這裏給大夥推薦一個常見的運維工具 supervisor。
畫外音:supervisor是很常見的運維工具,以下幾個小問題旨在讓不熟悉的同學簡單了解相關原理,獻醜了。
supervisor是什麽?
答:用Python開發的通用的進程管理工具。
supervisor有什麽用?
答:supervisor能把一個普通進程變為後臺daemon進程,並監控進程狀態,在進程異常退出時能夠自動重啟(或者告警),同時還提供一些相關的管理功能。
supervisor是怎麽做到的?
答:supervisor通過fork/exec的方式,把被管理的進程當作其子進程來啟動,在被管理的子進程異常退出時(例如tomcat出異常掛掉,或者服務出core掛掉,或者收到異常信號掛掉),作為父進程可以獲取相關信息,以選擇後續如何處理。
之前沒用過supervisor,這玩意是否靠譜?
答:額,supervisor誕生10年以上了,絕對靠譜,絕大部分運維同學都熟知它。
作為程序員,了解一些運維的知識有用麽?
答:額,知道“&”與“nohup”的區別,對寫程序可能沒幫助,但對理解整個技術體系及思路肯定是有好處的。
如果想學習Java工程化、高性能及分布式、深入淺出。微服務、Spring,MyBatis,Netty源碼分析的朋友可以加我的Java高級交流:787707172,群裏有阿裏大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給大家。
服務掛了,怎麽自動恢復?