..
ipfs-cluster中raft创建过程
通过ipfs-cluster的源码,看一下raft再ipfs的数据同步上的应用。
在启动 ipfs-cluster-service daemon
的时候,进行了 raft 的共识创建。
1、在 cmd/ipfs-cluster-service/daemon.go
文件中找到 daemon
实现。
// Runs the cluster peer
func daemon(c *cli.Context) error {
cluster, err := createCluster(ctx, c, cfgHelper, host, pubsub, dht, store, raftStaging)
}
2、createCluster 的关键实现
func createCluster(...) {
cons, err := setupConsensus()
ipfscluster.NewCluster(...)
}
3、setupConsensus 实现
func setupConsensus() {
rft, err := raft.NewConsensus(...)
}
4、 NewCluster 实现
func NewCluster(...) {
return c := &Cluster{}
}
Nothing