知行之桥EDI系统的单实例已经能轻松满足大多数企业的自动化需求,但对于数据日处理量高达十万次以上的大型企业来说,建议使用知行之桥EDI系统部署高可用集群(High-availability cluster)方案,在实现负载均衡、故障转移的同时,还可提高方案的可用性和伸缩性。
本教程以阿里云为例,其他云服务平台搭建过程类似,如在搭建过程中有任何问题,欢迎咨询我们。
整体集群配置
ECS(云服务器ECS)实例:2
RDS(云数据库RDS MySQL 版)实例:1
NAS(阿里云文件存储Network Attached Storage)实例:1
SLB(负载均衡)实例:1
搭建过程
1.下载知行之桥EDI系统安装包
在知行软件官网下载知行之桥EDI系统最新Java版本安装包
2.登陆阿里云控制台(console.aliyun.com)
3.创建实例
在搜索框搜索ECS,选择云服务器ECS进入ECS首页,在首页点击创建实例。
- 实例规格: 1核1GiB(最低要求)
- 购买实例数量: 2
- 镜像: CentOS 或 Ubuntu
这里我们已创建了2台实例node1和node2。
4.配置安全组
在安全组中入方向添加8080端口,后面知行之桥EDI系统会配置这个端口来访问UI。
5.创建文件存储NAS
HA环境中的两台机器需要挂载同一个共享磁盘,这样才能保持两个知行之桥EDI系统的实例完全同步。
搜索NAS进入文件存储NAS界面,创建NAS文件系统。
可用区:最好和ECS实例可用区保持一致
协议类型: SMB(NFS协议由于协议本身的缺陷会出现不可预知的问题)
创建好NAS之后进入该NAS,点击 挂载使用/通过命令行 挂载到ECS实例,选择系统类型后记录下挂载命令:
关于阿里云文件存储NAS产品规格选取:
阿里云有多种存储系统,包括文件存储NAS与对象存储OSS和块存储EBS等。其中文件存储NAS具有低延时、吞吐量高的特点,适合知行之桥EDI系统的使用场景,所以推荐使用阿里云文件存储NAS作为知行之桥EDI系统的共享存储。
NAS有三种产品规格,通用型、低频介质和极速型NAS,其中低频介质不适用于知行之桥EDI系统高频率的文件读写场景,极速型NAS文件协议类型只支持NFS,可能会出现未知的问题,所以这里我们选择通用型NAS。通用型NAS用于存储频繁访问的热数据,分为容量型和性能型。容量型可以应付绝大多数用户的基本需求,如果报文发送接收量巨大,建议选择性能型NAS。更详细的对比,请参考阿里云文件存储NAS文档。
6.在ECS实例上挂载文件存储NAS
分别登陆到2台ECS实例上
1)安装cifs-utils
1 |
sudo yum install cifs-utils |
2)挂载NAS
1 2 |
mkdir /mnt/arcesbdata sudo mount -t cifs //08d384a7a3-lvx87.cn-hangzhou.nas.aliyuncs.com/myshare /mnt/arcesbdata -o vers=2.0,guest,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict,rsize=1048576,wsize=1048576 |
如果遇到挂载方面的问题,可以参考阿里云文件存储NAS挂载访问FAQ。
7.创建MySQL服务
阿里云中进入RDS服务,点击创建数据库RDS。
可用区:尽可能和ECS实例可用区相同 (不同可用区之间可以相互通信,但可能会增加额外的通信延迟)
类型系列: MySQL8.0
存储大小: 需要估算业务量大小
下图是RDS配置的例子:
配置好MySQL之后在白名单设置中添加白名单分组。
创建数据库:
创建账号:
点击登陆数据库成功连接。
8.在ECS上安装知行之桥EDI系统
解压从网站下载的安装包压缩文件,解压后将setup.jar上传到2台ECS上安装,安装位置选择默认的/opt/arcesb。
详细安装步骤参考压缩包中的readme.txt。
安装好之后分别编辑node1和node2的/opt/arcesb/webapp/arcesb.xml,将APP_DB部分信息改成我们创建好的MySQL信息,将AppDirectory改成/mnt/ arcesbdata。
1 2 3 4 5 6 7 8 |
<Call name="setInitParameter"> <Arg>AppDirectory</Arg> <Arg>/mnt/arcesbdata</Arg> </Call> <Call name="setInitParameter"> <Arg>APP_DB</Arg> <Arg>jdbc:mysql:Server=rm-bp1wl9bsoslb1m6e2.mysql.rds.aliyuncs.com;Port=3306;Database=arcesb;User=arcesb;Password=xA123456</Arg> </Call> |
9.启动知行之桥EDI系统
在两台ECS实例上分别启动知行之桥EDI系统:
cd /opt/arcesb
java -jar arcesb.jar
启动后我们就可以通过http://node1-ip:8080和http://node2-ip:8080来访问知行之桥EDI系统了。我们可以尝试在http://node1-ip:8080上创建一个用户,在http://node2-ip:8080上如果登陆成功,就表示HA环境搭建成功了。
10. 安装License
通过node1和node2分别去激活各自的license。
至此,一个高可用环境已经可以工作了,node1和node2都可以作为登陆UI或者AS2等协议的Target地址。
为了能使node1和node2协同工作,无缝切换,可以额外在node1和node2上再搭建一个负载均衡器。
11.负载均衡(SLB)
1)创建负载均衡器
在阿里云上进入负载均衡主页,创建传统型负载均衡:
可用区: 尽量和ECS实例可用区保持一致(不同可用区之间可以相互通信,但可能会增加额外的通信延迟)
实例规格: slb.s1.small
2)配置负载均衡监听
进入负载均衡器中,创建监听。
端口: 8080
负载均衡协议: HTTP
会话保持: 开启
Cookie处理方式: 植入Cookie
3)测试负载均衡
在负载均衡实例详情页面找到服务地址,浏览器访问http://负载均衡-ip:8080,就可以正常登陆了。以后我们登陆或者进行AS2传输,地址都可以换成负载均衡的地址了。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。