SymmetricDS 配置手册
基于实际应用配置:建议优先第二章节来进行配置
目 录
一、快速上手(官网范例配置) ..............................................................................................................................................4
二、多主一丛单向配置 ..............................................................................................................................................................5
拓扑图: ..............................................................................................................................................................................6
准备工作:..........................................................................................................................................................................6
基础配置:..........................................................................................................................................................................7
初始化顶级节点 sun 的系统表数据...............................................................................................................................12
注册子节点........................................................................................................................................................................15
启动服务 ............................................................................................................................................................................15
测试数据同步 ....................................................................................................................................................................16
总结 ....................................................................................................................................................................................17
三、多主一丛双向配置 ............................................................................................................................................................18
特性
跨平台的 ——大多数操作系统上运行,包括移动设备,可以同步任何数据库的数据库支持。
多线程 -多线程架构提取、转移和并行加载数据。
渠道 ——表分成独立的渠道,有自己的线程同步队列。
自动恢复 ——批次错误重试,直到他们成功,所以同步可以从网络故障中恢复过来。
事务意识到 ——数据变更记录和回放在相同的顺序和在同一事务。
多主机 ——相同的表都可以同步到从主机系统,同时避免更新循环。
转换 ——子集,过滤和转换数据在提取或加载阶段。
冲突检测 ——自动检测冲突和解决他们在多主机同步。
表模式 ——选择允许创建和升级的数据库模式。
初始数据加载 ——准备一个远程数据库的初始负载数据。 部分的初始加载指定表和行也可以发送。
中央配置 ——从中央注册服务器接收到所有配置和保持同步。
多个部署选项 ——部署使用独立的引擎,web 应用程序,或嵌入在一个应用程序。
沟通的方法 推或拉的变化通过防火墙进行通信。
HTTP / S 的传输 ——HTTP / S 服务。
有效的协议 ——一个快速流数据格式,很容易产生,解析和加载。 运输也是默认压缩。
监控 ——监视器观察问题批量错误或积压和通过电子邮件发送一个通知。
远程管理 通过命令行工具——管理,REST API 和 Java 管理扩展(JMX)控制台。
插件 API 通过扩展和插件点,添加定制。
可嵌入 ——小到可以嵌入或引导在另一个应用程序(即一个 POS 应用程序)。
通过查看相关资料与应用,总结 SymmetricDS 工具的相关特点,如下所示:
优点:同步即时,基于推拉双机制的同步,对于数据的及时性完整性有保障。关于事件的并发与线程管理已封
装。表结构变动对于配置好的数据字段的同步影响不大,但对于新增的字段如果也需要同步的话,需要重新注册节
点,并重启服务。
缺点:每个节点都需要配置服务代码,且比较复杂。会在每个节点数据库中生成 41 张同步系统表,业务的控
制体现在表数据中。适合用于固定或长期稳定的网络通道的机房环境。如果整合进产品往外推广,配置复杂后期维
护也麻烦,适合本公司内部服务器的应用。
补充:其实我觉得最大的优点就是,对于数据同步这个需求,symmetricDS 只需要配置不关心每个数据库的具体
业务,只关心要同步哪个数据库哪张表。如果是写服务代码来定时抓取数据再插入数据的话,可能还要考虑到数据
库中的业务,比如哪个表关联哪个表,插入数据的先后还有级联问题等,对于 symmetricDS 来说只要关联表在一
个同步通道中即可。
一、快速上手(官网范例配置)
官网地址:http://www.symmetricds.org/doc/3.9/html/tutorials.html
资料地址:http://www.wfuyu.com/datay/21121.html
1、将 SymmetricDS 目录拷贝至服务器相关目录下;
2、copy samples 目录下的 corp-000.properties 文件至 engines 目录下,根据实际对文件重命名,按真实
环境对文件进行配置,具体细节请参考第二章节;
3、创建实际的表:
说明:推荐手动建表,以下的命令是基于 sample 目录下的范例文件进行建表,并且一定要加上[--alter-case]
字符串,否则创建的数据库表名需要带“”才能访问;
../bin/dbimport --engine corp-000 --format XML --alter-case create_sample.xml
4、创建 symmetricDS 的 47 张系统表:红色部分文字按实际属性文件的 engine name 进行修改
../bin/symadmin --engine corp-000 create-sym-tables
5、配置主从系统表:
实际的应用配置请参照第二章节《初始化顶级节点 sum 的系统表数据》进行配置,以下的命令只针对于范例
例子, 红色部门依照实际情况进行修改。
../bin/dbimport --engine corp-000 insert_sample.sql。
6、注册子节点:
详细请参照第二章节《注册子节点》进行配置,以下命令是注册命令, 红色部门依照实际情况进行修改。
..\bin\symadmin --engine sunserver-000 open-registration sunclient 001
7、加载初始数据:(不是必需)
该命令在实际情况下无需执行,服务启动后,会自动完成数据同步。
symadmin --engine corp-000 reload-node 001
8、启动服务
以下是启动服务命令,红色部门依照实际情况进行修改。
sym --engine store-001 --port 9090
二、多主一丛单向配置
链接:http://blog.csdn.net/seattle0564/article/details/22096901
1 拓扑图
2 准备工作
因实际硬件测试环境限制,本地新建三个数据库分别模拟 sun,sun1,sun2
每个节点都需要配置一个 s 服务,将 S 服务代码分别解压到了三个目录:
D:\develop\symmetric\sun\symmetric
D:\develop\symmetric\sun1\symmetric
D:\develop\symmetric\sun2\symmetric
3 基础配置
一、首先配置从机 sun 的 S 服务
进入到 D:\develop\symmetric\sun\symmetric 目录,将 samples 目录下的 corp-000.properties 文件拷贝到
engines 目录下,samples 目录下是官网提供的一个范例,engines 是你配置自己同步服务的目录,
corp-000.properties 可以说是配置从机节点参数的一个模板,所以拷贝出来做修改,文件名可以自定义修改,修
改为 sunserver-000.properties。
按照如下模板修改:
engine.name 引擎名称,可以理解成当前节点服务的名称
db.driver 数据库的 jdbc 驱动名称
db.url 数据库连接字符串
db.user 数据库用户名
db.password 数据库密码
registration.url 上一级节点的注册地址,如果是顶级节点,就设为空
sync.url 本机的注册地址 http://localhost:8080/sync/sunserver-000
其中 8080 是当前节点服务启动后需要占用的端口,sunserver-000 即第一个参数 engine.name 的值
group.id 节点组的 ID,当前顶级节点组名为 sunserver,意思是服务端
external.id 当前节点组下节点的编号,通过上面的 group.id 和 external.id 可以定位到唯一的节点