You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To overcome the fact that most upstream registries would struggle with the amount of requests the information in staticreg would require to (for example, list all tags for all the images on a registry) we implemented an internal cache called Async registry.
This leads to three issues:
when restarting staticreg, the cache is cold so the pages are empty. One possible solution is also Health check endpoint #26
when starting staticreg on multiple instances they might have different versions of the cache because they create them independently
memory usage grows linearly with the amount of tags in the registry and is tied to each staticreg instance
To overcome this, @bebosudo suggested to use an external cache (such as a Redis instance) which I agree.
We could abstract the Async Registry to an interface and implement various backends such as the current one for inmem and one for redis. There are surely libraries that already do this such as Gocache, we can explore that as well.
The text was updated successfully, but these errors were encountered:
To overcome the fact that most upstream registries would struggle with the amount of requests the information in staticreg would require to (for example, list all tags for all the images on a registry) we implemented an internal cache called Async registry.
This leads to three issues:
To overcome this, @bebosudo suggested to use an external cache (such as a Redis instance) which I agree.
We could abstract the Async Registry to an interface and implement various backends such as the current one for inmem and one for redis. There are surely libraries that already do this such as Gocache, we can explore that as well.
The text was updated successfully, but these errors were encountered: