本文主要是记录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掉先关的进程,然后重新启动,配置了年轻代的大小、指定了具体的启动配置文件。