hyades icon indicating copy to clipboard operation
hyades copied to clipboard

Add support for remote caching in API server

Open nscuro opened this issue 2 years ago • 1 comments

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 avatar Dec 22 '23 14:12 nscuro

Implementation of this must also include a mechanism for coordinated cache invalidation.

nscuro avatar Mar 12 '25 10:03 nscuro