Replies: 3 comments 1 reply
-
|
For the |
Beta Was this translation helpful? Give feedback.
-
|
Another alternative is to remove the caching layer: #46496 I strongly believe a stateless application is the way to go. No clustering, no extra exposed ports, no latency to worry about, and support single cluster, multi-az, multi-region, and multi-planet. The only cache that has some use is the Note that Hibernate 2LC is available for user to inject their preferred caching solution. |
Beta Was this translation helpful? Give feedback.
-
|
Perspective as a beginner: I spent days already just wrestling with weird situations where, for example, changes to token mappers and such would see no effect until I change some completely random value (in my case, I set and unset Direct access grants). This is really painful. I can only suspect that caching is the reason for this, and I've seen other slightly-related questions on SO and such where people do, and then undo, random things to get things working. I agree that @pruivo that stateless first is the way to go. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
In Keycloak, “caches” are used for different things:
This is quite a mix of functionality. While it was sometimes difficult to set things up with older versions, the most recent versions should be a lot more simple to set up and upgrade.
This post summarizes what we have done in the past, what we think the current state is, and where we want to head in the future. Please comment on this discussion to provide ideas and also context in which setups this works well or where it needs improvements.
How we made them simpler to use
We evolved the area of caching in the past based on user feedback:
Working for the vast majority of users?
To gather some information from the Keycloak repository: We have not seen many open issue around Infinispan lately
We plan to continue to improve it, but it would require some specific information about a user’s setups, performance analysis, etc. We would appreciate it if people would engage in GitHub issues to provide context and data about the problems they are experiencing. We’ll be happy to dive into details with you.
How caching should evolve
What currently is the field of “caching” in Keycloak, is actually a mix of different functionalities. It can be split-up and changed depending on different architecture decisions on the overall Keycloak project.
Here’s some of the ongoing work and alternatives that already exist:
There is also the experimental feature “clusterless” which allows storing the user sessions only in the external Infinispan and not in the database.
Looking further into the future:
Changing things one step at a time
So where should we start to change things? Post your comment below to engage in this conversation!
Beta Was this translation helpful? Give feedback.
All reactions