跳转至主要内容

Dispatchers

调度器提供了一种同步策略增量更改的方式。 它们应基于一致性算法,如Raft,以确保所有执行器实例的一致性。 通过调度器,用户可以轻松建立分布式集群。

调度器的方法分为两部分。 第一部分是与Casbin结合的方法。 这些方法应在Casbin内部调用。 用户可以使用Casbin本身提供的更完整的API。

另一部分是调度器本身定义的方法,包括调度器初始化方法,以及不同算法提供的不同功能,如动态成员和配置更改。

备注

我们希望调度器只确保运行时Casbin执行器的一致性。 所以,如果在初始化期间策略不一致,调度器将无法正常工作。 用户需要在使用调度器之前确保所有实例的状态一致。

下面提供了Casbin调度器的完整列表。 欢迎对新的调度器进行任何第三方贡献。 请通知我们,我们会将其添加到此列表中。

AdapterTypeAuthorDescription
Hashicorp Raft DispatcherRaftCasbinA dispatcher based on Hashicorp Raft
KDKYG/casbin-dispatcherRaft@KDKYGA dispatcher based on Hashicorp Raft

DistributedEnforcer

DistributedEnforcer为调度器包装了SyncedEnforcer。

    e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")