swift-raft Swift版Raft协议实现
Swift 里的 Raft 实现还真不多,swift-raft算是少有的靠谱项目。功能基本都上了:选举、日志复制、快照、成员变更这些你熟的都有,像什么领导人选举、日志压缩都挺稳,响应也快,代码风格也干净,适合学习也适合改造。
内存日志+快照机制结合得比较灵活,适合你搞高并发的微服务场景;你要是用 Swift 搞后端、或者写点分布式的小实验,直接拿来用,省事不少。
项目还有领导转移和固定集群成员,这一块做得蛮细,适合你测试各种极端情况。嗯,部署在 Linux 下也没问题,有 CI 设定支持,撸一遍代码再来点断点调试,理解 Raft 的机制更快。
要注意一点:你得用带Actors 支持的 Swift 工具链来编译,不然跑不起来。Apple 自己的 Swift 版本还没正式支持所有功能,最好走 Swift.org 官方编译的工具链。
Raft 协议原理不熟的可以先看看这篇Raft 一致性算法,入门挺友好,逻辑通俗,跟项目代码一对照就清晰多了。
如果你正在用 Swift 搞后端或者服务编排方向,swift-raft还挺值得收藏一份的。写 PoC、玩 Demo、做实验,够用也好改,推荐你试试看。
43.68KB
文件大小:
评论区