casbin 性能优化的几点建议
内容主要来自官方文档
高速访问场景
casbin 单实例可以支持10000 r/s 的处理 ,对于请求比较频繁的可以参考如下处理
- 多线程
- 多实例
policy rule 过多的场景
- 可能是模型设计问题,需要重新调整下
- 基于分片机制解决,不同租户使用不同的casbin 实例,同时基于filter处理(分布式模式,同时结合casbin server 也比较好,因为模型存储通过后端节点解决了应用就比较简单了)
- 调整数据权限的分配模式,可以基于rbac 模式进行权限的处理
说明
当然如果真的需要基于casbin 解决百万级以及千万级的权限分配问题,基于shared 模式是必须做的,同时应该包含类似db 的proxy 方案,灵活的进行处理(rest,grpc 都是比较好的方案)