Dispatchers
Os despachantes fornecem uma maneira de sincronizar mudanças incrementais de política. Eles devem ser baseados em algoritmos de consistência como o Raft para garantir a consistência de todas as instâncias do aplicador. Através dos despachantes, os usuários podem facilmente estabelecer clusters distribuídos.
O método do despachante é dividido em duas partes. A primeira parte é o método combinado com o Casbin. Estes métodos devem ser chamados dentro do Casbin. Os usuários podem usar a API mais completa fornecida pelo próprio Casbin.
A outra parte é o método definido pelo próprio despachante, incluindo o método de inicialização do despachante e diferentes funções fornecidas por diferentes algoritmos, como a adesão dinâmica e mudanças de configuração.
Esperamos que os despachantes garantam apenas a consistência do aplicador Casbin em tempo de execução. Então, se a política estiver inconsistente durante a inicialização, os despachantes não funcionarão corretamente. Os usuários precisam garantir que o estado de todas as instâncias seja consistente antes de usar os despachantes.
Uma lista completa dos despachantes Casbin é fornecida abaixo. Qualquer contribuição de terceiros em um novo despachante é bem-vinda. Por favor, informe-nos e nós o adicionaremos 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 envolve o SyncedEnforcer para o despachante.
- Go
e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")