基于 Raft 的分布式协调组件,iNexus 0.11 发布

jopen 9年前

iNexus原本是Galaxy集群管理系统的一个组件,它的产生源于我们的业务需要一个类似于Google Chubby一样的组件。它能提供分布式naming、lock服务,并能存储一定规模的元数据(百GB的级别)。

iNexus的理论基础是Raft一致性协议,这个协议主要解决了多个节点之间的数据变更一致性同步,从而可以由多个节点构成一个高可用的数据存储集群 (半数一下节点宕机不影响服务)。iNexus实现了Raft协议的主要部分,但目前还不支持动态改变集群membership。Raft的paper只论述了集群选主和数据一致性复制,iNexus结合实际需求,又加上了Watch(事件主动通知)和Lock(分布式锁)。

0.11版的主要更新:

1) 支持多用户名称空间隔离,登录校验;
2) 支持Python SDK;
3) 提升性能,修复若干Bug;
4) 更加完善的文档:https://github.com/fxsjy/ins/wiki
5) 提供免编译体验版:ins_prebuild.tar.gz