Dispatchers
调度器提供了一种同步策略增量更改的方式。 它们应基于一致性算法,如Raft,以确保所有执行器实例的一致性。 通过调度器,用户可以轻松建立分布式集群。
调度器的方法分为两部分。 第一部分是与Casbin结合的方法。 这些方法应在Casbin内部调用。 用户可以使用Casbin本身提供的更完整的API。
另一部分是调度器本身定义的方法,包括调度器初始化方法,以及不同算法提供的不同功能,如动态成员和配置更改。
备注
我们希望调度器只确保运行时Casbin执行器的一致性。 所以,如果在初始化期间策略不一致,调度器将无法正常工作。 用户需要在使用调度器之前确保所有实例的状态一致。
下面提供了Casbin调度器的完整列表。 欢迎对新的调度器进行任何第三方贡献。 请通知我们,我们会将其添加到此列表中。
- Go
Adapter | Type | Author | Description |
---|---|---|---|
Hashicorp Raft Dispatcher | Raft | Casbin | A dispatcher based on Hashicorp Raft |
KDKYG/casbin-dispatcher | Raft | @KDKYG | A dispatcher based on Hashicorp Raft |
DistributedEnforcer
DistributedEnforcer为调度器包装了SyncedEnforcer。
- Go
e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")