Ir al contenido principal

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.

nota

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.

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

DistributedEnforcer

DistributedEnforcer envuelve a SyncedEnforcer para el despachador.

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