Crane 内外网数据交换配置解析
Crane 内外网数据交换配置解析
1.1背景介绍
- 外网(互联网)的test数据库的 A表 到 内网 test库B表 进行数据交换.
- A表和B表需要同构,必须有主键。
- 内网和外网逻辑隔离。
1.2环境配置
- 应用部署环境:需要jdk(1.6/1.7)和tomcat(6/7)的位数一致 .我使用的jdk1.7,tomcat7,64位。
1.3详细配置
步骤一: 部署应用
分别在内网 和 外网环境中部署一套crane应用, tomcat服务器.(注意 亲测oracle12c的触发器创建不了. 该交换应用不支持,本示例11g可正常使用.但用navcate界面创建表的时候,库表的字段需要大写,小写的话触发器可以创建,但是无效)
快速部署应用简便方法: 直接将crane的子目录拷贝到 tomcat服务器的webapps/root目录下,拷贝前先将root文件夹里的内容删除.
每个应用都要配置一个为应用本身服务的数据库表: (可理解为中间库) 在ROOT\WEB-INF\classes ROOT\wfc_config.properties文件夹中配置.
选择相应的数据库 进行配置.
- 注 : 首先配置 外网A表à内网B表的过程. 及配置A到B 只能实现A表的增删改的操作可作用在B表上. 本示例 本机服务端口8080 仿造外网 服务端口9090仿造内网.
步骤二: 系统登录
- 打开浏览器: http://localhost:8080/login.jsp(测试时部署在本机上) 可进入登录页面,如下图所示:
- 点击” 登录”如下:
- 配置首先点击” 整体监控” 如下 (该图是配置好的,下边介绍如何具体配置):
步骤三: 理解配置模型图
- A-B 配置 : 需要配置 上图 1、2、3、4 为一组,可完成A到B的配置。
步骤四: 对以上 1、2、3、4分别进行配置
- 配置1: 上级账号: (部署在外网服务器的应用 端口8080 上)
- “上级地址” 这个需要和 下级节点的 “下级地址” 相同.
- 用户名、口令 需要和下级节点的 “下级地址” 相同.
- 配置2: 库表复制源 (部署在外网服务器应用 端口9090 )
- 主要配置:
名称: 无实际作用,以方便辨识为佳
地址: 需要在内外网两套应用中保证唯一, 且方便辨识.
出错处理方式: 选择”阻塞重试”
JDBC: 填写相应数据库的驱动
JDBC字串: 连接数据库的 标识
数据库用户: 填写相本应用部署所绑定的数据库的 连接用户名
数据库口令: 匹配以上用户的口令.
配置触发器管理 点击到如下页面:
- 勾选相应的触发器 →目标地址 这里应该填写 本示例中标号为3 的地址
- 点击"生成触发器后" 新增\修改\删除 下的多选框会变成绿色,不可选的状态.表示触发器已经生成.(可去数据库确认一下,看看是否生成以及是否可正常触发)
- 配置3 : 库表复制目标 (部署在内网的服务器的应用 端口9090)
名称: 无实际作用,以方便辨识为佳
- 地址: 需要在内外网两套应用中保证唯一, 且方便辨识. (注: 这里的地址要和 配置2处(库表复制源) 在创建触发器的时候 的"目标地址"一致)
- 出错处理方式: 选择”阻塞重试”
JDBC: 填写相应数据库的驱动
JDBC字串: 连接数据库的 标识
数据库用户: 填写相本应用部署所绑定的数据库的 连接用户名
数据库口令: 匹配以上用户的口令.
- 配置4: 下级节点 (部署在内网的服务器的应用 端口9090)
名称: 无实际作用,以方便辨识为佳
- 下级地址: 该地址需要和 配置1(上级上号) 的地址一致
- WS地址: http://部署服务器ip: 端/services/cascadeDownService
本示例: http://localhost:8080/services/cascadeDownService
及部署应用url + /services/cascadeDownService
- 用户名: / 口令 和 配置1(上级上号) 的地址一致
- 注: 到此已经实现了 从外网A 表 到 内网 B表的数据同步过程
- 要实现 从B到 A 同步的过程 还需要如下图进行配置:
- 同 从内网A到外网B 中 1 2 3 4 的配置 来配5 6 7 8 标号的适配器即可实现 从外网B到内网A的过程.
- 注:适配器呈现的各种颜色代表工作状态,具体含义 查看crane参考文档.
总结:
- 配置 1234 作为一组 实现单向A→ B 5 6 7 8作为一组 实现单向B→A
- 两组的配置互不影响.
注意事项:
- 使用navacate等工具建表时候 需注意大小写,应该全部大写. (若小写可能导致后期建立触发器不能正常使用)
-
“下级节点” 的下级地址 需要填写 另一个应用的 “交换处理总线” 的地址
-
“上级账号” 的上级地址 需要填写 另一个应用的 “交换处理总线” 的地址
- 上级账号和下级节点的 位置 无所谓 配置双向交换也只需要一套就可以了
- JDBC驱动 示例: oracle.jdbc.driver.OracleDriver
- JDBC字串 示例: jdbc:oracle:thin:@192.168.22.243:1521:orcl
- “下级节点” 的ws地址 示例 (只需要更改相应的ip 和端口号即可) http://192.168.22.243:8111/services/cascadeDownService