감시자
We support to use distributed messaging systems like etcd to keep consistence between multiple Casbin enforcer instances. So our users can concurrently use multiple Casbin enforcers to handle large number of permission checking requests.
Similar to policy storage adapters, we don't put watcher code in the main library. Any support for a new messaging system should be implemented as a watcher. A complete list of Casbin watchers is provided as below. Any 3rd-party contribution on a new watcher is welcomed, please inform us and I will put it in this list:)
Watcher | Type | Author | Description |
---|---|---|---|
Etcd Watcher | KV store | Casbin | Watcher for etcd |
NATS Watcher | Messaging system | Soluto | Watcher for NATS |
ZooKeeper Watcher | KV store | Grepsr | Watcher for Apache ZooKeeper |
Redis Watcher | KV store | @billcobbler | Watcher for Redis |
GCP Pub/Sub Watcher | Messaging system | LivingPackets | Watcher for Google Cloud Platform PUB/SUB |
NATS, RabbitMQ, GCP Pub/Sub, AWS SNS & SQS, Kafka, InMemory | Messaging System | rusenask | Watcher based on Go Cloud Dev Kit that works with leading cloud providers and self-hosted infrastructure |
Watcher | Type | Author | Description |
---|---|---|---|
Etcd Adapter | KV store | @fanlide | Watcher for etcd |
Watcher | Type | Author | Description |
---|---|---|---|
Etcd Watcher | KV store | Casbin | Watcher for etcd |
Redis Watcher | KV store | Casbin | Watcher for Redis |
Pub/Sub Watcher | Messaging system | hjl | Watcher for Google Cloud Pub/Sub |
Postgres Watcher | Database | Matteo Collina | Watcher for PostgreSQL |
Watcher | Type | Author | Description |
---|---|---|---|
Redis Watcher | KV store | ScienceLogic | Watcher for Redis |
PostgreSQL Watcher | Database | Casbin | Watcher for PostgreSQL |
Watcher | Type | Author | Description |
---|---|---|---|
Redis Watcher | KV store | @Sbou | Watcher for Redis |
WatcherEx
In order to support incremental synchronization between multiple instances, we provide the WatcherEx
interface. We hope it can notify other instances when the policy changes, but there is currently no implementation of WatcherEx
. We recommend that you use dispatcher to achieve this.