Raft 协议
Raft算法深度解析 - 第一部分:问题的起源
为什么需要Raft?从单机到分布式的痛苦历程
1. 从单机开始:一切都很简单
想象你在开发一个简单的计数器服务:
// 单机版本 - 完美运行
type Counter struct {
value int
mu sync.Mutex
}
func (c *Counter) Increment() {
c.mu.Lock()
c.value++
c.mu.Unlock()
}
func (c *Counter) Get() int {
c.mu.Lock()
defer c.mu.Unlock()
return c.value
}单机的美好世界: