决策引擎系统部署
本文档是FIBO Rule决策引擎系统部署手册,包含如下内容:
(1)服务器准备
(2)中间件准备
(3)系统部署
(4)系统验证
1.1 服务器准备
准备服务器,服务器建议预安装CentOS。建议准备的服务器如下:
服务器 | 用处 | 前/后端 | 最低配置 | 系统版本 | 需要安装的软件 |
---|---|---|---|---|---|
h5-enginex-manager | 数字决策平台 | 前端 | 2核4G | centos7以上 | nginx 1.14.1 node 12.22.7 |
h5-datax-manager | 数据中心 | 前端 | 2核4G | centos7以上 | nginx 1.14.1 node 12.22.7 |
h5-auth-manager | 权限系统 | 前端 | 2核4G | centos7以上 | nginx 1.14.1 node 12.22.7 |
ddp-manager-web | 后台管理系统服务 | 后端 | 4核8G | centos7以上 | jdk 1.8 |
ddp-runner-api | 执行器API服务 | 后端 | 4核8G | centos7以上 | jdk 1.8 |
注:如果是测试或者业务量不大,前端三个服务可以部署在一台服务器,后端两个服务可以部署在一台服务器,采用不同的端口号来区分。
1.2 中间件准备
Java服务运营需要依赖Mysql和Redis。根据公司内部的情况,可以使用服务器独立部署所需中间件,或者使用云平台开通相关实例。需要安装的中间件具体信息如下:
中间件 | 版本号 | 最低配置 | 用处 |
---|---|---|---|
MySQL | 5.7以上 | 2核4G | 存储 |
Redis | 4.0 以上 | 2核4G | 缓存 |
Canal | 1.1 以上 | 2核4G | 数据同步 |
1).MySQL安装
参考:https://www.jianshu.com/p/276d59cbc529
2).Redis安装
参考:https://www.cnblogs.com/oktokeep/p/15737710.html
3).Canal安装
参考:https://blog.csdn.net/EDT777/article/details/114576466
1.3 系统部署
执行顺序 | 部署内容 | 包名 | 部署服务器 |
---|---|---|---|
1 | 执行SQL脚本 | ddp-2.0.sql | MySQL数据库实例 |
2 | 后台管理系统服务 | ddp-manager-web-1.0-SNAPSHOT.jar | ddp-manager-web |
3 | 执行器API服务 | ddp-runner-api-1.0-SNAPSHOT.jar | ddp-runner-api |
4 | 数字决策平台 | h5-enginex-manager | h5-enginex-manager |
5 | 数据中心 | h5-datax-manager | h5-datax-manager |
6 | 权限系统 | h5-auth-manager | h5-auth-manager |
注:具体sql文件、jar包、h5包,由对接的技术支持人员提供
1).执行SQL脚本
登陆MySQL所在的服务器,然后执行命令(参考)
mysql -u root -p
source sql/ddp-2.0.sql
或者使用数据库管理工具,导入SQL文件执行
2).部署后台管理系统服务
(1)如果是源代码,先在ddp/ddp-manager-web目录下执行如下maven命令进行打包:
mvn clean compile package -Dmaven.test.skip=true
(2)登陆ddp-manager-web服务器,执行命令(参考)
nohup java -jar $JAR路径 -Dfile.encoding=utf-8 --spring.profiles.active=dev --server.port=$PORT &
$JAR路径为ddp-manager-web-1.0-SNAPSHOT.jar的文件位置;
--spring.profiles.active参数默认为dev,启动命令可以省略。关于配置文件里面中间件信息的修改可以在启动目录下创建config目录,然后单独放一份application-dev.properties文件即可;
--server.port参数默认为8080,启动命令可以省略;
3).部署执行器API服务
(1)如果是源代码,先在ddp/ddp-runner-api目录下执行如下maven命令进行打包:
mvn clean compile package -Dmaven.test.skip=true
(2)登陆ddp-runner-api服务器,执行命令(参考)
nohup java -jar $JAR路径 -Dfile.encoding=utf-8 --spring.profiles.active=dev --server.port=$PORT &
$JAR路径为ddp-runner-api-1.0-SNAPSHOT.jar的文件位置;
--spring.profiles.active参数默认为dev,启动命令可以省略。关于配置文件里面中间件信息的修改可以在启动目录下创建config目录,然后单独放一份application-dev.properties文件即可;
--server.port参数默认为8081,启动命令可以省略;
4).部署数字决策平台前端系统
(1)如果是源代码,先通过npm run build命令打包vue项目,把dist文件夹重命名为h5-enginex-manager;
(2)把h5-enginex-manager文件夹上传到服务器(h5-enginex-manager)上;
(3)登陆h5-enginex-manager服务器,进入nginx配置目录(例如:/etc/nginx/conf.d),在conf.d目录下新建配置文件 h5-enginex-manager.conf
新增参考内容
server {
listen 80;
server_name 127.0.0.1; #域名
location / {
root /root/www/h5-enginex-manager; #h5-enginex-manager 所在目录
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /Riskmanage {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Access-Control-Allow-Origin *;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass http://xxx:8080/Riskmanage; #后端服务ddp-manager-web的地址
}
}
5).部署数据中心前端系统
(1)如果是源代码,先通过npm run build命令打包vue项目,把dist文件夹重命名为h5-datax-manager;
(2)把h5-datax-manager文件夹上传到服务器(h5-datax-manager)上;
(3)登陆h5-datax-manager服务器,进入nginx配置目录(例如:/etc/nginx/conf.d),在conf.d目录下新建配置文件 h5-datax-manager.conf
新增参考内容
server {
listen 80;
server_name 127.0.0.1; #域名
location / {
root /root/www/h5-datax-manager; #h5-datax-manager 所在目录
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /Riskmanage {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Access-Control-Allow-Origin *;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass http://xxx:8080/Riskmanage; #后端服务ddp-manager-web的地址
}
}
6).部署权限系统前端系统
(1)如果是源代码,先通过npm run build命令打包vue项目,把dist文件夹重命名为h5-auth-manager;
(2)把h5-auth-manager文件夹上传到服务器(h5-auth-manager)上;
(3)登陆h5-auth-manager服务器,进入nginx配置目录(例如:/etc/nginx/conf.d),在conf.d目录下新建配置文件 h5-auth-manager.conf
新增参考内容
server {
listen 80;
server_name 127.0.0.1; #域名
location / {
root /root/www/h5-auth-manager; #h5-auth-manager 所在目录
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /Riskmanage {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Access-Control-Allow-Origin *;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass http://xxx:8080/Riskmanage; #后端服务ddp-manager-web的地址
}
}
1.4 系统验证
1).后台管理系统验证
在浏览器中打开前端系统的服务器地址:http://前端系统ip:端口号(80端口可省略)。显示登陆页面
系统初始化账号:
sadmin / engine888!
admin / engine888!
输入账号密码登陆成功后,则说明系统部署成功。
2).执行器验证
用postman进行接口调用验证,POST请求地址:
http://执行器服务ip:端口号/runner/decision
调用参数:
{
"biz_data": {
"businessId": "",
"organId": 46,
"engineId": 1,
"fields": {
}
},
"biz_enc": "0",
"timestamp": 1618883106147
}
返回结果:
{
"msg": "请求引擎不存在或尚未部署运行",
"data": "",
"status": "0x0004"
}
有结果返回,说明调用成功
Postman参考调用截图如下: