Dispatchers
Dispatcher menyediakan cara untuk menyinkronkan perubahan inkremental dari kebijakan. Mereka harus didasarkan pada algoritma konsistensi seperti Raft untuk memastikan konsistensi semua instance penegak. Melalui dispatcher, pengguna dapat dengan mudah membentuk klaster terdistribusi.
Metode dispatcher dibagi menjadi dua bagian. Bagian pertama adalah metode yang digabungkan dengan Casbin. Metode ini harus dipanggil di dalam Casbin. Pengguna dapat menggunakan API yang lebih lengkap yang disediakan oleh Casbin itu sendiri.
Bagian lain adalah metode yang didefinisikan oleh dispatcher itu sendiri, termasuk metode inisialisasi dispatcher, dan fungsi-fungsi yang disediakan oleh algoritma yang berbeda, seperti keanggotaan dinamis dan perubahan konfigurasi.
Kami berharap dispatcher hanya memastikan konsistensi enforcer Casbin saat runtime. Jadi jika kebijakan tidak konsisten saat inisialisasi, dispatcher tidak akan bekerja dengan baik. Pengguna perlu memastikan bahwa keadaan semua instance konsisten sebelum menggunakan dispatcher.
Daftar lengkap dispatcher Casbin disediakan di bawah ini. Kontribusi pihak ketiga pada dispatcher baru sangat kami hargai. Harap beri tahu kami, dan kami akan menambahkannya ke dalam daftar ini.
- 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 merangkum SyncedEnforcer untuk dispatcher.
- Go
e, _ := casbin.NewDistributedEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")