本文主要是记录springcloud的注册中心的高可用、集群部署、项目打包jar文件编写shell脚本进行部署。

首选我们准备一个注册中心jar包,里面有两个配置文件

application-eureka1.properties   :

#服务端口
server.port=1111
#服务实例的host地址
eureka.instance.hostname=eureka1
#是否注册到其他服务
eureka.client.register-with-eureka=false
#是否检索其他服务
eureka.client.fetch-registry=false
#注册中心地址
eureka.client.service-url.defaultZone=http://eureka2:1112/eureka/
#关闭健康检测
eureka.server.enable-self-preservation=false
#更新注册实例列表间隔时间
eureka.server.eviction-interval-timer-in-ms=100

application-eureka2.properties

#服务端口
server.port=1112
#服务实例的host地址
eureka.instance.hostname=eureka2
#是否注册到其他服务
eureka.client.register-with-eureka=false
#是否检索其他服务
eureka.client.fetch-registry=false
#注册中心地址
eureka.client.service-url.defaultZone=http://eureka1:1111/eureka/
#关闭健康检测
eureka.server.enable-self-preservation=false
#更新注册实例列表间隔时间
eureka.server.eviction-interval-timer-in-ms=100

通过两个配置文件的相互注册所有的服务实例会共享在一起

修改linux下的hosts文件,vi /etc/hosts

eureka注册中心的启动脚本如下:

#!bin/bash
PROJECT="eureka-server-0.0.1-SNAPSHOT"
JAR_PATH="/product/cloud_server/server_jar/"
project_id=$(ps -ef| grep $PROJECT |grep -v grep|awk '{print $'4'}')
echo "eureka server port:"$project_id;

if [ "x" != "x$project_id" ]
then
    echo "service exce kill option";
    $(ps -elf| grep $PROJECT |grep -v grep|awk '{print $'4'}'|xargs kill -9);
else
    echo "service no runing ---exce start option";
fi 

$(/usr/local/java/jdk1.8/bin/java  -Xmx1024m -jar $JAR_PATH$PROJECT.jar --spring.profiles.active=eureka1   > ../logs/$PROJECT1.log &);
echo "start prot:1111";

sleep 1

$(/usr/local/java/jdk1.8/bin/java  -Xmx1024m -jar $JAR_PATH$PROJECT.jar --spring.profiles.active=eureka2   > ../logs/$PROJECT2.log &);
echo "start port:1112";

echo "eureka start end"

通过红色处进行指定某个文件启动,配置文件里面指定了项目启动的端口。

其他服务的shell内容基本相同,主要是根据jar包的名称检索是否已经启动,如果已经启动的话就kill掉先关的进程,然后重新启动,配置了年轻代的大小、指定了具体的启动配置文件。

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐