上一篇我们总结了安装启动Jenkins,并使用Jenkins部署前后端项目,工作中还遇到了某一个SpringCloud服务负载压力过大,需要多台机器部署的情况,由于我在项目中负责了整个搭建的过程,因此在这边来做一个总结。
配置原理及效果展示
首先我们要知道我们利用的是SpringCloud中的Eureka注册中心实现的负载均衡,具体操作是在两台不同的服务器中部署相同的一个服务,并且两个服务都注册到同一个Eureka上,Eureka会将注册的服务全部暴露出去,供外部访问,效果如下图:
在图中我们看到,主机名不同的两台服务器,两个相同端口相同服务名称的服务实现了负载均衡的配置,那么如何使用Jenkins做到这一点呢?
Jenkins环境配置
首先我们需要在Jenkins上安装SSH工具,使其能够在当前服务器上访问到另一台服务器,如下图:
安装完成之后,在系统配置中配置新服务器的信息,确保我们后面能够执行该服务器上的脚本:
启动脚本编写以及执行
点击进入需要负载均衡部署的服务,修改发布的脚本,我们的执行逻辑是这样的:
首先在本台服务器上对项目进行编译打包
将打包好的jar包通过scp命令发送到另一台负载均衡的机器
通过SSH连接,远程执行另一台服务的启动脚本
完成上面的步骤之后,新的服务会被注册到Eureka中,我们到Eureka中就能看到被注册的服务,构建的设置如下图:
构建完成之后如何验证是否成功呢,如果你的项目也配置了ELK日志收集,就能够看到和我一样的效果,结果展示为下图: