服務(wù)掛了,怎么自動恢復(fù)?
上周有個朋友問我:
- tomcat掛了,站點死了;
- service出core了,服務(wù)死了;
如何讓掛掉的服務(wù)自動啟動呢?
這里給大伙推薦一個常見的運維工具 supervisor。
supervisor是什么?
用Python開發(fā)的通用的進程管理工具。
supervisor有什么用?
supervisor能把一個普通進程變?yōu)楹笈_daemon進程,并監(jiān)控進程狀態(tài),在進程異常退出時能夠自動重啟(或者告警),同時還提供一些相關(guān)的管理功能。
supervisor是怎么做到的?
supervisor通過fork/exec的方式,把被管理的進程當(dāng)作其子進程來啟動,在被管理的子進程異常退出時(例如tomcat出異常掛掉,或者服務(wù)出core掛掉,或者收到異常信號掛掉),作為父進程可以獲取相關(guān)信息,以選擇后續(xù)如何處理。
之前沒用過supervisor,這玩意是否靠譜?
supervisor誕生10年以上了,絕對靠譜,絕大部分運維同學(xué)都熟知它。
畫外音:supervisor是很常見的運維工具,以下幾個小問題旨在讓不熟悉的同學(xué)簡單了解相關(guān)原理,獻丑了。
希望沒有浪費這一分鐘。
【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】