1 回答

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
微服務(wù)遲早是要部署在Linux系統(tǒng)上的,當(dāng)網(wǎng)絡(luò)不穩(wěn)定就會(huì)掛掉,但是掛掉后手動(dòng)去重啟是十分麻煩的,我們的SC微服務(wù)雖然強(qiáng)大,但是還沒有自行起死回生的本事,需要借助于外部命令來實(shí)現(xiàn)自動(dòng)重啟。下面就以Eureka為例配合shell腳本來實(shí)現(xiàn)自動(dòng)重啟。
1、啟動(dòng)一臺(tái)Eureka:
20984 20490 99 17:57 pts/0 00:00:25 java -jar /usr/local/server/micro-service/micro-eureka-server-0.0.1-SNAPSHOT.jar
2、啟動(dòng)腳本:./eureka.sh ,腳本文件和jar包放在同一個(gè)目錄下。腳本內(nèi)容:
while :
do
run=$(ps -ef |grep "$PWD/micro-eureka-server-0.0.1-SNAPSHOT.jar" |grep -v "grep")
if [ "$run" ] ; then
echo "The service is alive!"
else
echo "The service was shutdown!"
echo "Starting service ..."
nohup java -jar $PWD/micro-eureka-server-0.0.1-SNAPSHOT.jar &
echo "The service was started!"
fi
sleep 10
done
注意:這里是在while死循環(huán)下,每隔10秒檢測(cè)一次我們的eureka進(jìn)程,如果進(jìn)程存在則打印The service is alive!,如果進(jìn)程失敗就執(zhí)行重啟命令。當(dāng)然,我們也可以指定這段shell開機(jī)運(yùn)行,這樣就可以省去很多事情。
3、殺掉服務(wù):
kill -9 20984
4、服務(wù)自動(dòng)重啟
21644 20490 99 17:58 pts/0 00:00:08 java -jar /usr/local/server/micro-service/micro-eureka-server-0.0.1-SNAPSHOT.jar
- 1 回答
- 0 關(guān)注
- 912 瀏覽
添加回答
舉報(bào)