chenshijun
2020-01-15 4d6bafff86a6863450622c96f00661b9eb686b90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1. func Init(clusterID string, password string, nodeID string, ips []string) (*Agent, error)
初始化:查询数据库,如果数据库有数据,将得到集群id,节点id,密码,其他节点ip,然后调用初始化函数,即可自动通过其他节点加入集群。若是空,则不初始化,等待页面填写参数并启动。注意事项:目前集群id并没有真正意义。
 
2. func (a *Agent) JoinByNodeIP(ips []string) error
加入集群:先初始化节点, 然后通过节点ip加入集群和密码。注意事项:集群id在初始化的时候就需要填写,但是还未加入集群,无法获取集群id。所以目前集群id未使用。
 
3. func (a *Agent) Stop()
退出集群:退出集群后,外部需要清空同步库的所有数据。
 
4. func (a *Agent) GetNodes() (nodes []Node)
获取集群节点列表:通过该接口获取节点列表,然后维护到数据库和页面展示。
 
5. func (a *Agent)GetDbFromCluster(dbPathWrite string)
获取数据库文件:新节点加入集群后,需要调用该接口去集群中任意一个结点获取一个数据库文件。数据库文件包含本地库和同步库的表结构,但是只有同步库有数据,本地库是空的。
 
6. func (a *Agent)SyncSql(sqlOp string)
同步数据到集群:所有操作同步库的SQL操作都需要同步到集群,集群其他节点收到后,调用数据库接口写入数据库。
 
7. 查找集群信息:未加入集群前,查询集群信息。