如何实现Spring Cloud微服务挂掉之后自动重启?
2019-05-07 本文已影响0人
壳叔
image
本文由黑壳博客编写
本文来源如何实现Spring Cloud微服务挂掉之后自动重启?
每篇一笑
白雪公主结婚以后,身体一直不太好。王子请来医生诊断,发现她居然只剩下一个肾。王子悲伤地捧起她的脸:“亲爱的,你到底遭遇了什么?”白雪公主勉强露出一个微笑:“我在森林隐居时,有一天,一个巫婆敲开门对我说:“孩子,来个苹果吧
正文
微服务迟早是要部署在Linux系统上的,当网络不稳定就会挂掉,但是挂掉后手动去重启是十分麻烦的,我们的SC微服务虽然强大,应该还没有自行起死回生的本事,需要借助于外部命令来实现自动重启。下面就以Eureka为例配合shell脚本来实现自动重启。
1、启动一台Eureka:
java -jar clouddo-eureka-0.0.1-SNAPSHOT.jar
2、启动脚本:sh ./eureka.sh ,脚本文件和jar包放在同一个目录下。脚本内容:
#!/bin/sh
while :
do
run=$(ps -ef |grep "clouddo-eureka-0.0.1-SNAPSHOT" |grep -v "grep")
if [ "$run" ] ; then
echo "The service is alive!"
else
echo "The service was shutdown!"
echo "Starting service ..."
nohup java -jar $PWD/clouddo-eureka-0.0.1-SNAPSHOT.jar&
echo "The service was started!"
fi
sleep 10
done
注意:这里是在while死循环下,每隔10秒检测一次我们的eureka进程,如果进程存在则打印The service is alive!,如果进程失败就执行重启命令。当然,我们也可以指定这段shell开机运行,这样就可以省去很多事情。
3、杀掉服务:
将服务kill 掉 kill -9 xxx
4、服务自动重启
xxx 3829 9.4 14.3 2635272 294356 ? Sl 11:04 0:45 java -jar clouddo-blackdir-0.0.1-SNAPSHOT.jar
About
欢迎在评论写下你的程序员趣事~~
欢迎加入我们的小组织 ,大家都叫壳叔,期待你的到来。
欢迎关注公众号
微信公众号这是我们的Group
黑壳家根据地 Q群:200408242