Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for remote / distributed caching in API server #987

Open
nscuro opened this issue Dec 22, 2023 · 0 comments
Open

Add support for remote / distributed caching in API server #987

nscuro opened this issue Dec 22, 2023 · 0 comments
Labels
architecture component/api-server enhancement New feature or request p2 Non-critical bugs, and features that help organizations to identify and reduce risk size/L High effort

Comments

@nscuro
Copy link
Member

nscuro commented Dec 22, 2023

As the API server is now capable of running with multiple instances, we cannot rely on local caching for everything anymore.

We need a caching abstraction that supports both local caching (for deployments with only one API server instance), and remote caching. Alpine does not provide anything on that front, the built-in CacheManager is based on Caffeine and not customizable.

I propose to build a caching layer based on JCache. JCache is supported by Caffeine, Redisson, and more. We can make the CachingProvider implementation configurable, such that users can choose their preferred provider at deploy time. CachingProviders can be discovered by their class name via Caching.getCachingProvider("com.example.MyCachingProvider").

@nscuro nscuro added enhancement New feature or request p2 Non-critical bugs, and features that help organizations to identify and reduce risk architecture size/L High effort component/api-server labels Dec 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
architecture component/api-server enhancement New feature or request p2 Non-critical bugs, and features that help organizations to identify and reduce risk size/L High effort
Projects
None yet
Development

No branches or pull requests

1 participant