**Dispatchers**
Les Dispatchers propagent les mises à jour de politique incrémentales vers plusieurs instances d'enforceurs (par ex. un cluster). Ils utilisent un protocole de cohérence (par ex. Raft) afin que tous les enforceurs finissent par voir la même politique. L'API normale de Casbin (AddPolicy, RemovePolicy, etc.) reste inchangée ; le dispatcher envoie les mises à jour aux autres nœuds.
Deux parties : (1) les hooks internes à Casbin implémentés par le dispatcher, et (2) la configuration spécifique du dispatcher (par ex. appartenance au cluster, config).
Les dispatchers synchronisent uniquement les modifications après l'initialisation. Ils ne corrigent pas les divergences existantes. Démarrez tous les enforceurs avec la même politique (par ex. depuis la même base de données ou instantané) avant d'activer un dispatcher.
Dispatchers disponibles :
| 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 encapsule SyncedEnforcer pour fonctionner avec les dispatchers.
e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")
Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.