kedao中间件-集群及发布篇

一、介绍

本文介绍在kedao中间件中如何搭建集群、负载均衡、服务发布。

中间件官网:https://www.yckj-kedao.com
系列文章:
    《kedao中间件-安装篇》
    《kedao中间件-C++服务篇》
    《kedao中间件-Java服务篇》
    《kedao中间件-Vue开发篇》
    《kedao中间件-并发测试篇》
    《kedao中间件-Linux系统安装篇》
    《kedao中间件-数据库安装篇》

二、环境准备

服务器配置 按模式4:开发->测试->基线->生产 进行搭建,服务器IP如下,http端口统一是 80,https端口是 443:
开发环境:
    开发服务器:192.168.43.30
    测试服务器:192.168.43.132
    代码基线服务器:192.168.43.133
生产环境:
    集群主服务器:192.168.43.134
    集群从服务器1:192.168.43.135
    集群从服务器2:192.168.43.136

关于网络的说明:
    开发环境的服务器在同一网络;
    生产环境可以在另外一个网络;
    集群服务器IP分内网,外网IP与开发环境通讯,内网IP为集群服务器之间通讯;如果没有分内外网,内外网IP相同。

注意:
    1、开发服务器、测试服务器、代码基线服务器的服务器安装一样,这3台服务器都需具备代码编译的能力。
    2、集群主服务器、集群从服务器1、集群从服务器2,只需安装与系统运行相关的工具即可。
    3、kedao中间件的安装路径统一为 /opt/kedao
    4、在操作服务器配置之前,一定要在各台服务器上安装好kedao中间件,并启动服务,网络畅通。
    5、无论是采用哪种开发语言的系统,操作都是一样的。

三、配置服务器

1、设置发布权限

关键点在设置【服务器配置】之前,需要确保在测试服务器、代码基线服务器、生产服务器上设置了 config.ini 的发布权限,否则会保存失败。
    在 /opt/kedao/bin 目录下,执行 vi config.ini 进行编辑:

kedao@kedao:$ cd /opt/kedao/bin
kedao@kedao:/opt/kedao/bin$ vi config.ini

    修改 users=*,增加 lym_test=*,如:

[publish_authorization]
kedao=*
kmyckj=*
lym_test=*
users=*

    说明:
     users=* :表示允许所有用户都可以往该服务器发布程序;
     lym_test=* :表示允许用户 lym_test 所有的系统都可以往该服务器发布程序;
     kedao=*,kmyckj=*,lym_test=* :表示 kedao,kmyckj,lym_test 这3个用户的系统都可以往该服务器发布程序;
    users=* 和 lym_test=* 要同时设置,只设置其中一个无效。

2、设置开发服务器

    以 prj_java_test 系统为例(注:C++系统也是相同的操作)
    在 kedao creator 中打开【我的系统】-【prj_java_test】-【服务器配置】功能,选择模式4,然后再界面中输入IP,端口
    开发服务器:192.168.43.30          端口:80
    测试服务器:192.168.43.132         端口:80
    代码基线服务器:192.168.43.133     端口:80
    保存成功后,功能界面如下图:
在这里插入图片描述
    在保存时,如果出现 404 的错误,确保网络通畅,各服务器的kedao中间件服务已经启动,然后重试保存

3、设置生产集群服务器

    在【服务器配置】功能中,点击【录入】按钮,在弹出界面中分别录入生产环境的IP和端口:
    集群主服务器:192.168.43.134          端口:80
    集群从服务器1:192.168.43.135         端口:80
    集群从服务器2:192.168.43.136         端口:80
    在外网IP的情况下,内外网的IP录入相同的值,设置如图:
在这里插入图片描述
    在录入完生产服务器IP地址后,需要点击【同步集群配置信息】按钮将配置同步到各服务器中,操作如图:
在这里插入图片描述

四、配置负载均衡

    在【负载均衡】功能中,在待配置的服务器列表中全部✓选中服务器的IP,然后点击 > 按钮将服务器IP移动到右侧的负载均衡配置信息列表中,如图:
在这里插入图片描述
    将服务器IP移动到负载均衡配置信息列表后,设置服务器的负载权重(默认是1),然后分别点击【保存】->【同步】->【生效】3个按钮,将配置信息同步到集群服务器中,并使负载均衡生效。如图:
在这里插入图片描述
    关于权重的设置按照各服务器CPU的核心数(超线程数)的比值,进行化简,得到最小公约数的比值,以此来填写各服务器的权重
    至此,负载均衡配置完成,下面进行程序发布,然后验证负载均衡。

五、重启主服务器的 kedao 服务

    在 192.168.43.134 服务器上执行 sudo systemctl restart kedao 命令重启kedao服务

kedao@kedao-cluster-master:/$ sudo systemctl restart kedao

六、发布服务

1、创建发布工单

    在【发布服务】功能中创建发布工单,如图:
在这里插入图片描述
    往工单中添加发布文件,如图:
在这里插入图片描述
    注意
    1)第一次发布,除了把项目的源代码文件全部选上外,还要把 bin/lib/用户/系统名称/db_connect.ini一起发布;
    2)各环境上的数据库连接不一样,发布后需要对 db_connect.ini 进行修改。同时要进行 odbc 数据源配置(C++系统);
    3)目前 Java项目的模板代码,数据库连接的配置是写在资源文件 中的,建议将数据库连接参数写到配置文件中,从配置文件中读取。现在为了演示效果,开发、测试、生产的数据库都是同一个。

    点击【发布工单】按钮进行发布,如图:
在这里插入图片描述
    第一次发布的文件比较多,需要十几秒钟。

2、测试服务

    测试服务功能主要用于测试人员填写测试意见及上传测试用例。
    打开【测试服务】功能,选择未锁定工单,在操作列中锁定工单,如图:
在这里插入图片描述
    切换回我的工单,点击【提交测试】按钮,在提交测试结果界面中填写测试意见,上传测试文档,如图:
在这里插入图片描述
    提交成功后,工单进入【发布生产】环节。

3、发布生产

    打开【发布生产】功能,勾选中要发布的工单,点击【提交发布】,默认立即发布,点【确定】按钮确认发布,如图:
在这里插入图片描述
    提交发布后,工单由后台服务进行编译发布,发布时长需要几分钟。
    在【发布生产】的功能界面,可以查看工单的发布状态,如图:
在这里插入图片描述

4、查看是否发布成功

    进入执行文件目录,如 /opt/kedao/bin/lib/lym_test/prj_java_test/ ,通过 lsll 命令查看文件:

kedao@kedao-cluster-master:~$ cd /opt/kedao/bin/lib/lym_test/prj_java_test/
kedao@kedao-cluster-master:/opt/kedao/bin/lib/lym_test/prj_java_test$ ll
total 2104
drwxr-xr-x 2 kedao kedao    4096 May  5 14:37 ./
drwxr-xr-x 3 root  root     4096 May  5 14:37 ../
-rw-r--r-- 1 root  root   173080 May  5 14:37 prj_java_test-1.0.jar
-rw-r--r-- 1 root  root  1968219 May  5 14:37 prj_java_test-1.0-jar-with-dependencies.jar

5、查询工单

    打开【综合功能】-【工单查询】功能,可以查询发布工单的信息,如图:
在这里插入图片描述

七、发布前端

    前端的发布,不能通过上述发布流程进行发布。
    通过ftp工具直接将文件拷贝到目标服务器。

1、修改服务IP

    以《kedao中间件-Vue开发篇》中创建的 my_vue2_prj 前端工程为例。
    编译之前,需要将生产环境变量文件 .env.production 中的 VUE_APP_BASE_API’ 改为服务主服务器的IP地址,如 VUE_APP_BASE_API = ‘http://192.168.43.134’,在VSCode中修改和打包编译,如图:
在这里插入图片描述
    在项目的根路径下执行 npm run build:prod 命令进行编译。

2、发送打包文件

    把前端项目工程打包后的dist 文件夹下的所有文件拷贝到目标服务器的 bin/www 目录下。
    拷贝静态文件到集群主服务器(192.168.43.134)的 bin/www 目录下,如图:
在这里插入图片描述

3、刷新网站静态文件

    在 bin 目录下编辑 config.ini 文件:

kedao@kedao-cluster-master:/$ cd /opt/kedao/bin/
kedao@kedao-cluster-master:/opt/kedao/bin$ sudo vi config.ini

    修改 [system] 节点下的 website_release_status=1,如:

[system]
JAVA_HOME=/opt/jdk-17.0.10-full
cert_change_status=0
env=master
group_name=kedao
release_status=0
user_name=kedao
website_release_status=1

    修改后,输入 :wq! 保存退出,大约1分钟左右刷新完成,刷新完成后 website_release_status 的值会自动更新为 0。

4、登录系统

    在浏览器地址栏中输入 http://192.168.43.134,打开登录界面,如图:
在这里插入图片描述

八、验证负载均衡

    进入系统后,打开任意一个功能,如图:
在这里插入图片描述
    多次点击查询按钮调用服务,分别到集群服务器:192.168.43.134、192.168.43.135、192.168.43.136 上的日志目录 /opt/kedao/bin/log , 执行 tail -f log_20250505 命令查看服务日志文件(log_20250505为对应日期的日志文件),如:

kedao@kedao-cluster-master:/opt/kedao/bin/log$ tail -f log_20250505
[2025-05-05 15:56:26.969]-prj_java_test.mdl_test.svc_test
[2025-05-05 15:56:27.967]-prj_java_test.mdl_test.svc_test 998 ms
[2025-05-05 15:56:46.387]-prj_java_test.mdl_test.svc_test
[2025-05-05 15:56:46.405]-prj_java_test.mdl_test.svc_test 18 ms
[2025-05-05 15:56:47.630]-prj_java_test.mdl_test.svc_test
[2025-05-05 15:56:47.647]-prj_java_test.mdl_test.svc_test 17 ms
[2025-05-05 15:56:48.680]-prj_java_test.mdl_test.svc_test
[2025-05-05 15:56:48.700]-prj_java_test.mdl_test.svc_test 20 ms
[2025-05-05 15:56:50.972]-prj_java_test.mdl_test.svc_test
[2025-05-05 15:56:50.990]-prj_java_test.mdl_test.svc_test 18 ms
[2025-05-05 16:14:20.718]-prj_java_test.mdl_test.svc_test
[2025-05-05 16:14:20.732]-prj_java_test.mdl_test.svc_test 14 ms

    注:第一次调用服务时,由于需要加载服务,以及建立数据库连接,耗时会长些,之后就正常了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值