通过使用华为云弹性负载均衡ELB和弹性伸缩AS服务,实现华为云平台OA系统应用的高可用部署。
配置应用开机启动
获取启动脚本
执行以下命令,下载启动脚本。
[root@ecs-oa oasys_mysql]# cd /home/
[root@ecs-oa home]# wget https://obs-oa-zyl.obs.cn-north-4.myhuaweicloud.com/autostart.sh
执行以下命令,打开脚本文件。
[root@ecs-oa home]# vim autostart.sh
执行以下命令,修改脚本代码。
修改JAVA_HOME为当前操作系统Java虚拟机的目录。
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-1.h5.oe1.aarch64/
修改app为当前OA系统jar包地址。
/home/oasys_mysql/target/oasys.jar
执行以下命令,为脚本添加可执行权限。
[root@ecs-oa home]# chmod +x autostart.sh
自定义开机启动命令
执行以下命令,进入系统目录,下载服务脚本。
[root@ecs-oa home]# cd /etc/systemd/system/
[root@ecs-oa system]# wget [https://obs-oa-zyl.obs.cn-north-4.myhuaweicloud.com/oa-service.service](https://obs-oa-zyl.obs.cn-north-4.myhuaweicloud.com/oa-service.service)
执行以下命令,为脚本添加可执行权限。
[root@ecs-oa system]# chmod +x oa-service.service
执行以下命令,添加开机启动服务。
systemctl enable oa-service.service
验证开机启动
重启名为ecs-oa的云服务器。等待1-2分钟,通过ecs-oa弹性公网IP地址加8088端口访问OA系统登录页,如http://123.60.210.240:8088/。使用用户名“soli”和密码“123456”登录进入OA系统主界面。
配置自启动后,根据弹性伸缩策略分发服务器的时候才能访问到项目(之后会构建这个oa服务器的镜像,供弹性负载均衡服务器运行)
配置弹性负载均衡
购买华为云ELB弹性负载均衡
进入华为云控制台操作页面。选择区域“北京四”,单击“服务列表”,选择“网络 弹性负载均衡ELB”,进入弹性负载均衡列表页面。页面右上角的“购买弹性负载均衡”。
选择与ecs-oa相同的“所属VPC”和“网络”,选择“按流量计费”,输入名称“elb-oa”,点击右下角“立即购买”。
配置监听器
在负载均衡器列表中,点击“点我开始配置”。在“监听器”标签中,点击“添加监听器”。默认配置,点击“下一步”。修改名称为“server_group-kunpeng”,点击“完成”。点击“现在添加”。在“后端服务器组”标签中,点击“添加”。选择名为“ecs-oa”的云服务器,点击“下一步”。添加端口输入“8088”,点击“完成”。
等待约30秒之后,点击“刷新”按钮,ecs-oa健康检查结果显示“正常”。
返回负载均衡器列表,记录“elb-oa”的弹性公网IP,使用该IP地址直接访问OA系统登录页,如http://http://http://123.249.75.243/。使用用户名“soli”和密码“123456”登录进入OA系统主界面。
配置弹性伸缩
创建华为云云服务器镜像
返回弹性云服务器列表,点击“更多 -> 镜像/磁盘 -> 创建镜像”。选择名为“ecs-oa”的云服务器,操作系统centos。名称“img-oa-kunpeng”,点击“立即创建”。
购买华为云AS弹性伸缩服务
进入华为云控制台操作页面。选择区域“北京四”,单击“服务列表”,选择“弹性伸缩AS”,进入弹性伸缩列表页面。页面右上方,点击“创建弹性伸缩组”。输入名称“as-group-oa-kunpeng”,最大、期望、最小实例数分别为3、2和1台。点击加号按钮,增加伸缩配置。
创建伸缩配置
点击“创建伸缩配置”。输入名称为“as-config-oa-kunpeng”。选择配置为CPU架构“X86计算”,规格“华为云计算,华为云通用计算增强型,kc1.large.2 2vCPUs | 4GB”。
在“私有镜像”标签内,选择名为“img-oa-kunpeng”的私有镜像,安全组选择“sg-FullAccess”。
返回伸缩配置列表,显示名为“as-config-oa-kunpeng”的伸缩配置
确认使用和ecs-oa同样的虚拟私有云和子网,负载均衡选择“使用弹性负载均衡”,负载均衡器选择“elb-oa”,后端服务器组选择“server_group-kunpeng”,后端端口填写“8088”,点击“立即创建”。
添加弹性策略
点击“添加伸缩策略”,在伸缩策略页面,点击“添加伸缩策略”。将伸缩策略命名为“as-policy-oa-kunpeng”,使用“告警策略”,设置触发条件为“CPU使用率最大值>50%”,连续出现次数填写“3”,点击“确定”。
点击“概览”标签,显示当前实例数为2台,即设置的“期望实例数”。
返回弹性云服务器列表,点击刷新按钮,显示通过AS创建的华为云实例。
进入弹性负载均衡器“elb-oa”的后端服务器组”标签,显示这两台华为云实例已加入。
返回伸缩实例as-group-oa-kunpeng的“伸缩策略”页面,点击“立即执行”,在对话框中点击“是”。在“概览”页面、云服务器列表和弹性负载均衡后端服务器组中都可显示新创建的华为云实例。
返回负载均衡器列表,记录“elb-oa”的弹性公网IP,使用该IP地址直接访问OA系统登录页,如http://123.249.75.243/。使用用户名“soli”和密码“123456”登录进入OA系统主界面。
成功使用华为云弹性负载均衡ELB和弹性伸缩AS服务,实现华为云平台OA系统应用的高可用部署。
使用弹性负载均衡ELB公网IP访问项目的时候,可能会出现登录页面嵌套问题。
因为该OA项目的单体项目,不是分布式项目,在不同服务器中无法共享session。所以当刷新页面的时候,会把请求分发到不同服务器,这个服务器没有保存之前的信息,属于项目接口的非法访问,就跳转到登录页面。