为了账号安全,请及时绑定邮箱和手机立即绑定

如何实现Spring Cloud微服务挂掉之后自动重启

/ 猿问

如何实现Spring Cloud微服务挂掉之后自动重启

牛魔王的故事 2019-03-03 08:04:56

如何实现Spring Cloud微服务挂掉之后自动重启


查看完整描述

1 回答

?
饮歌长啸

微服务迟早是要部署在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


查看完整回答
反对 回复 2019-03-10

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信