Wang Rui

「每个不曾起舞的日子,都是对生命的辜负」

Sync Pool 源码分析

Sync Pool

什么是 Sync Pool ? ​ 是一个临时对象能够独自存储并且获取的数据池,目的是为了缓存已分配但是未使用的数据项以便之后再使用。 特性 Pool 是协程并发安全的 任何对象可能会毫无征兆的被自动移除 - 被GC回收 当前 Pool 为空的时候会从其它 Pool steal 一个 适用场景 不适用短的生命周期对象 当多个协程重复创建同一个对象的时候...

Raft 实现从0-1 源码篇

Raft 实现

前言 ​ Raft 基本概念在 raft 从 0-1 基础篇 已经介绍过,这里不再重复概述,感兴趣的可以移步基础篇。 功能 ​ Raft 有选举和日志复制两大核心模块,接下来主要围绕着两大模块一步步实现一个简化版的 Raft 协议,本文参考的是 ETCD Raft 实现,旨在帮助大家更好的理解 Raft 协议,更多的细节可参考 ETCD Raft 实现,或者其它优秀的 Raft 实现。...

Raft 实现从0-1 基础篇

Raft 基础

基础概念 介绍 ​ Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减少需要考虑的状态的数量。一项用户研究的结果表明,对于...