Pular para o conteúdo principal

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.

nota

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.

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

DistributedEnforcer

DistributedEnforcer envolve o SyncedEnforcer para o despachante.

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