Dispatchers
Los despachadores proporcionan una manera de sincronizar cambios incrementales de política. Deberían basarse en algoritmos de consistencia como Raft para asegurar la consistencia de todas las instancias del enforcer. A través de los despachadores, los usuarios pueden establecer fácilmente clústeres distribuidos.
El método del despachador se divide en dos partes. La primera parte es el método combinado con Casbin. Estos métodos deberían ser llamados dentro de Casbin. Los usuarios pueden usar la API más completa proporcionada por Casbin en sí.
La otra parte es el método definido por el propio despachador, incluyendo el método de inicialización del despachador, y diferentes funciones proporcionadas por diferentes algoritmos, como la membresía dinámica y cambios de configuración.
Esperamos que los despachadores solo aseguren la consistencia del enforcer de Casbin en tiempo de ejecución. Así que si la política es inconsistente durante la inicialización, los despachadores no funcionarán correctamente. Los usuarios necesitan asegurarse de que el estado de todas las instancias sea consistente antes de usar los despachadores.
Una lista completa de los despachadores de Casbin se proporciona a continuación. Cualquier contribución de terceros sobre un nuevo despachador es bienvenida. Por favor infórmenos, y lo añadiremos a esta lista.
- 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 envuelve a SyncedEnforcer para el despachador.
- Go
e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")