Skip to content
This repository has been archived by the owner on Jul 5, 2023. It is now read-only.

Additional ideas for jCasbin #16

Closed
seriouszyx opened this issue Mar 27, 2022 · 2 comments · Fixed by #17
Closed

Additional ideas for jCasbin #16

seriouszyx opened this issue Mar 27, 2022 · 2 comments · Fixed by #17
Assignees
Labels
enhancement New feature or request

Comments

@seriouszyx
Copy link
Member

In the process of development and communication, some issues for jCasbin still needed to be addressed. I would like to focus on these during GSoC '22 if I have the opportunity to attend.

Additional ideas

jCasbin Ecosystem

For some historical reasons, casbin-spring-boot-starter and some middlewares such as jdbc-adapter and redis-watcher are inconsistent. For jCasbin users, these components are confusing. And for jCasbin developers, multiple components have to be maintained at the same time to keep them consistent, which will generate a lot of redundant codes inevitably.

The basic idea is to compare the features of casbin-spring-boot-starter and other middlewares, and the implementation of features will be done by middlewares. The casbin-spring-boot-starter can easily integrate these middlewares.

Benchmark

It seems jCasbin have some benchmark but didn't list them in the official documentation. And in practice, most users will persist policies to the database. It makes sense to benchmark the system performance. In addition, well-established benchmarks help to compare performance after resolving performance bottlenecks.

Large-scale Scene

Casbin docs provide performance optimization advice. Especially for the high number of policy rules, users can use some strategies such as Policy Subset Loading. But this places greater demands on the users.

We can take full advantage of the powerful Java ecosystem. For example, use ShardingSphere to implement a middleware named (maybe) ShardingSphere-jdbc-adpter, provide users with a simpler alternative for the large-scale scene.

Summary

Assuming they make sense, I drafted updated ideas list as below.

  1. More features support
  1. Continuous maintenance of the surrounding ecology
  1. Benchmark and performance optimization
  • Benchmarking jCasbin and the integrations with main middlewares.
  • Find and resolve performance bottlenecks.
  1. Explore the alternative in large-scale scenarios

The above are just my personal rough ideas, some of which have not been strictly researched. This requires mentors to assess feasibility and workload. Welcome to discuss.

@hsluoyz @fangzhengjin @tangyang9464

@casbin-bot
Copy link
Member

@tangyang9464 @closetool @sagilio

@casbin-bot casbin-bot added the enhancement New feature or request label Mar 27, 2022
@rahul3002
Copy link

can i solve this issue??

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants