keeper
- 维基上关于 Raft 算法的定义
- 一个描述 Raft 算法工作原理的演示动画
- 基于 Raft 算法定义的分布式的自动运维脚本管理工具,可用于维护类似于 galera 集群这类分布式系统,可根据所有节点信息在所有节点进行维护。
- 代码
SRkv
- 使用 zerorpc 对外暴露和节点选举以及存取键值对有关的方法。
- 使用 gevent 生成集群角色维护的事件循环和数据事务执行的事件循环(还包括一个 zerorpc 自己的事件循环)。
- 因为 zerorpc 原生不支持使用 kwargs 形参,并且是明文传输,增加对传参和返回的修饰。
manager
- 从配置文件读取需要运行的运维脚本的配置( keeper-procs)。
- 从工作目录下导入需要运行的脚本,并生成子进程运行该脚本的 proc 方法。
- 根据脚本配置的 require 参数决定脚本的加载顺序,根据 reload_max 参数决定在脚本运行失败后的重启次数。
- SRkv 为默认运行脚本。
