每一个节点都需要配置一些属性,以使该节点连接到一个数据库和注册到一个父节点。这些属性在一个名叫xxxx.properties的文件中定义,这个文件放在SymmetricDS安装副本根目录下的engines文件夹。文件名的命名通常依据engine.name属性,但这不是必须的。
为了给一个节点一个标识,下面这些属性是必须的。conf/symmetric.properties文件中的属性可以被特定的engine的配置文件中的配置覆盖。如果conf/symmetric.properties文件中的属性被改变,它们将在此安装副本中的所有的engine中生效。注意,在定义这些属性的时候,你可以使用变量$(hostName)来代替机器的主机名,例如,external.id=$(hostName)。
Engine.name
这是一个任意的名字,被用来使用HTTP URL访问一个特定的engine。Engines目录中配置的每一个节点必须有一个唯一的engine名字。这个engine名字也被用来作为被注册的JMX bean的域名。
Group.id
节点组是此节点所属的组。同步操作在节点组之间进行,这意味着,你只需要在同一个组中为多个节点指定一次。
External.id
一个节点的External id对用户来说是非常有意义的。它提供此节点整合到其被部署的系统的能力。例如,一个节点的external id可能是一个分销商店编号或者一个区域编号。External id可以被用在条件表达式和同步数据子集。透明地,每一个节点都有一个唯一编号用来追踪同步事件。如果你想,给多个节点分配同一个external id也是可以的(因为有上边的唯一编号嘛)。
Sync.url
这个节点同步操作是用来通信的URL地址。在启动和每一个心跳时,节点使用这个URL更新数据库中的数据。这个URL的格式为:http://{hostname}:{port}/{webcontext}/sync/{engine.name}。
在单机部署时,{webcontext}是空的。它通常是部署到一个应用服务器的war文件的名字。
如果在一个SymmetricDS服务器中只有一个engine,{engine.name}可以为空。
当一个新节点第一次启动的时候,节点没有同步的信息。它联系注册服务器以加入到网络中,然后接收注册服务器的配置信息。所有节点的配置都存放在注册服务器中,URL必须使用下面的属性执行:
Registration.url
节点需要联系的注册服务器的URL,联系注册服务器的目的是接收服务器的配置信息。注册服务时SymmetricDS的一部分,也是整个部署架构的一部分。Registration.url的值通常等于注册服务器sync.url的值。
Important
注意一个registration服务器节点的registration.url的值要么是空,要么与它的sync.url的值一样。
在一次部署中,数据库连接池需要使用JDBC驱动创建,所以需要设置下面的属性:
db.driver
JDBC驱动的类名。
db.url
连接到指定数据库的JDBC URL。
db.user
数据库的用户名,用来登陆,创建和更新SymmetricDS表。
db.password
上边数据库用户名的密码
可以查看Section B.1 “Startup Parameters”,获取engine属性文件中可以指定的更多的属性。