1. 程式人生 > >如何實現Spring Cloud微服務掛掉之後自動重啟

如何實現Spring Cloud微服務掛掉之後自動重啟

微服務遲早是要部署在Linux系統上的,當網路不穩定就會掛掉,但是掛掉後手動去重啟是十分麻煩的,我們的SC微服務雖然強大,但是還沒有自行起死回生的本事,需要藉助於外部命令來實現自動重啟。下面就以Eureka為例配合shell指令碼來實現自動重啟。

1、啟動一臺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、啟動指令碼:./eureka.sh ,指令碼檔案和jar包放在同一個目錄下。指令碼內容:

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死迴圈下,每隔10秒檢測一次我們的eureka程序,如果程序存在則列印The service is alive!,如果程序失敗就執行重啟命令。當然,我們也可以指定這段shell開機執行,這樣就可以省去很多事情。

3、殺掉服務:

kill -9 20984

4、服務自動重啟

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