| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package main
- import (
- "log"
- "os"
- "igit.com/xbase/raft"
- "igit.com/xbase/raft/example/basic/common"
- )
- func main() {
- // Configuration
- nodeID := "node3"
- addr := "127.0.0.1:9003"
- dataDir := "../../data/node3"
- // Standalone configuration (will be joined to cluster later)
- clusterNodes := map[string]string{
- "node3": "127.0.0.1:9003",
- }
- config := raft.DefaultConfig()
- config.NodeID = nodeID
- config.ListenAddr = addr
- config.DataDir = dataDir
- config.ClusterNodes = clusterNodes
- config.LogCompactionEnabled = false
-
- config.Logger = raft.NewConsoleLogger(nodeID, 1)
- if err := os.MkdirAll(dataDir, 0755); err != nil {
- log.Fatalf("Failed to create data directory: %v", err)
- }
- server, err := raft.NewKVServer(config)
- if err != nil {
- log.Fatalf("Failed to create server: %v", err)
- }
- if err := server.Start(); err != nil {
- log.Fatalf("Failed to start server: %v", err)
- }
- defer server.Stop()
- common.StartCLI(server, nodeID)
- }
|