一、在 home 下建立了 springcloud 目录,再在其下建了如下目录:
说明:
gateway 应用网关
safegate 网关级安全认证服务
import 导入服务
draw 摇号派位主服务
query 查询服务
01 代表 一年级,07 代表七年级。
二、每个目录下大致有以下内容:
bin 中存放的是可执行sh脚本
logs 中会产生运行的日志
pid 目录中在启动时会生成一个 pid 文件,里面放置了应用程序的系统进程号。有了这个文件,说明本程序正在运行,退出本程序的可执行脚本会从该文件中获取进程号,然后杀死该进程,即停止了本程序和服务,同时删除 pid 文件。
application.yml 和 bootstrap.yml 是项目的启动脚本文件。springboot 项目一般都是以这两个文件为启动配置。当然其原因还是在可执行文件中的设置。
jar 是主执行文件。
在bin文件夹下,有两个脚本文件: startup.sh 和 shutdown.sh 。
startup.sh 脚本内容如下:
#!/bin/sh HOME_PATH=/home/springcloud/enroll-lcxx-draw-01 APP_NAME=enroll-lcxx-draw-01 MAIN_JAR=enroll-lcxx-draw-0.0.1-SNAPSHOT.jar cd $HOME_PATH nohup /usr/java/jre1.8.0_271/bin/java -Dspring.config.location=$HOME_PATH/application.yml,$HOME_PATH/bootstrap.yml -Dlogging.file=$HOME_PATH/logs/run.log -jar $HOME_PATH/$MAIN_JAR > $HOME_PATH/logs/run.out 2>&1 & echo $! > $HOME_PATH/pid/runing.pid
如上所示,在启动脚本文件中指定了 application.yml 和 bootstrap.yml 为启动文件。
shutdown.sh 文件内容:
#!/bin/sh HOME_PATH=/home/springcloud/enroll-lcxx-draw-01 PID=$(cat $HOME_PATH/pid/runing.pid) kill -9 $PID find $HOME_PATH/pid/ -name "*.pid" -exec rm -rf {} \; find $HOME_PATH/logs/ -name "*.out" -exec rm -rf {} \;
在执行shutdown停止服务时,会同时删除 pid 和 out 日志文件。
上面是针对某一个微服务的说明。一般在同一台机器上均放置以上面所示的八个微服务(见第一张图)。
三、为了使所有微服务能够自启动,因此在 /etc/systemd/system 中,为八个微服务均写了启动服务配置文件,如下图。
内容大致如下:
四、从操作安全角度出发,关键操作(如摇号、导入)均要进行安全验证,因此在用户目录中存放了一个安全码。服务的启动用户为root,因此在 /root下需有config目录及存放安全码的配置文件lerx.setting。
该文件和Windows中的ini文件设置方法相同,安全码的内容如下:
在前台摇号页面打开的时候,会弹出一个窗口,其中的安全码必须与此相同,否则将不能进行摇号。
五、微服务的启动情况,应通过 Nacos 的服务列表进行观察。
如上图所示,至少要有一个健康实例在运行(上图是两个服务器,所以实例数是2)。
六、增加服务器
一般来说,只在查询业务量大的情况下才会增加服务器。增加的方法建议将布署微服务的srv服务器进行克隆,克隆后更改主机ip。重启后查看上面所说的实例数是否增加,同时可以点击详情查看ip以确定增加的服务器情况。