基于serf的数据库同步模块库
liuxiaolong
2019-10-11 9bddcbcaacca649c4e0686afdde8d5804b17ad9c
API.txt
@@ -5,15 +5,22 @@
加入集群:先初始化节点, 然后通过节点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. 查找集群信息:未加入集群前,查询集群信息。
7. func CreateSearchNode(key string) (*memberlist.Memberlist, error)
启动查找集群信息
8.func GetSearchNodes()[][]byte
获取查找到的节点信息
9. func CloseSearchNode(m *memberlist.Memberlist) error
关闭查找集群信息