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

本文由黑壳博客编写
本文来源如何实现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

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,你需要准备一个服务器,然后把 springcloud 微服务项目全部打包成镜像,然后使用 docker-compose 将这些镜像组织起来,最后将这个组织起来的 docker-compose.yml 文件部署到服务器上即可。 ### 回答2: 要将含有多模块的Spring Cloud微服务项目部署到服务器,可以按照以下步骤使用Docker进行部署。 1. 准备Docker环境:在服务器上安装和配置Docker。可以使用Docker官方提供的安装教程进行安装。 2. 构建Docker镜像:在每个微服务模块的根目录下创建一个Dockerfile文件,并在其中定义构建该模块的Docker镜像的步骤。Dockerfile可以指定使用哪个基础镜像,复制项目代码到镜像中,设置项目依赖的环境等。然后使用Docker命令来构建镜像。 3. 编写Docker Compose文件:在项目根目录下创建一个docker-compose.yml文件,用于定义多个镜像之间的关系和网络配置。在文件中可以定义每个微服务使用的Docker镜像、端口映射、环境变量配置、网络设置等。 4. 启动微服务:使用Docker Compose命令启动微服务项目。此命令会根据docker-compose.yml文件中定义的配置信息,创建并启动各个微服务容器,并自动进行容器间的网络通信配置。 通过以上步骤,我们可以将含有多模块的Spring Cloud微服务项目部署到服务器上的Docker容器中。这样可以实现项目的快速部署和扩展,同时也能减少项目间的依赖和冲突。 ### 回答3: 要将含有多模块的Spring Cloud微服务项目部署到服务器上,可以按照以下步骤进行操作: 第一步是准备服务器环境。确保服务器已经安装了Docker引擎,并且网络设置正确。 第二步是构建Docker镜像。在项目根目录下创建Dockerfile文件,编写对应的镜像构建脚本。根据项目需求,可以使用不同的基础镜像,例如OpenJDK或Alpine Linux。在Dockerfile中定义容器所需的软件环境、依赖项和项目文件。 第三步是使用Docker Compose定义服务配置。创建docker-compose.yml文件,并编写服务配置,包括每个服务的镜像和容器设置,以及网络配置。根据项目需要,可以定义多个服务,每个服务对应一个模块。 第四步是使用Docker Compose部署服务。在项目根目录下执行以下命令部署服务: ``` docker-compose up -d ``` 该命令会根据docker-compose.yml文件中的配置启动并运行所有定义的服务。 第五步是查看部署结果。执行以下命令查看服务的运行情况: ``` docker ps ``` 该命令会列出所有正在运行的容器,可以通过容器的日志查看服务的详细日志信息。 通过以上步骤,就可以将含有多模块的Spring Cloud微服务项目成功地部署到服务器上。使用Docker可以提供更加灵活和可移植的环境,简化了项目的部署和管理过程,提高了开发效率和系统稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值