Comments (6)
Thank you for filing this bug @sethvargo!
@sethvargo @mikehelmick to tackle this, I'd recommend perhaps a distributed cache like Redis/Memcached as our caching layer, given that the app will be scaled out and caching in RAM means a trip if a request gets load balanced differently.
The alleviation am thinking of is to have the distributed here as an optional passthrough cache, whereby the CRUD calls pass through the Redis cache, but if Redis isn't available or the data isn't available, it'll fallback to fetching from the database.
If that sounds good I can send a PR implementing this logic. Thank you!
from exposure-notifications-verification-server.
I see per
we already use Redis as the rate limiter. That makes it the clear choice then for this task too.from exposure-notifications-verification-server.
Yeah, we already have a Redis instance in the mix, so that is a safe choice.
I think it's fine to move forward with that and have the caching disabled by default (dev instance)
from exposure-notifications-verification-server.
Yea, generic read-through cache. The reason I haven't been tackling this is because all the redis libraries for Go have various tradeoffs and I haven't had time to weigh them.
from exposure-notifications-verification-server.
Not a problem, I've got y'all :) I examined a bunch of the libraries and I have used redigo by Gary Burd, and even rolled out an instrumented version of it https://godoc.org/github.com/opencensus-integrations/redigo/redis. I'll send a PR for it.
SGTM, turned off by default works.
from exposure-notifications-verification-server.
This is done!
from exposure-notifications-verification-server.
Related Issues (20)
- Stats page charts not displaying HOT 3
- change missing actor to common error
- add StatusUnprocessableEntity
- Code claim ratio anomaly detection should factor in overall issue volume HOT 9
- Prevent realms from being named "e2e" or similar
- Allow for removal of ENX redirect domains HOT 2
- Exclude certain error codes from SMS anomalies HOT 1
- List metric descriptors and only create missing ones
- Fix column types on sms_configs
- Session cookie too big
- Realm level maintenance mode
- Localized user-report SMS template HOT 2
- strings.Title is deprecated
- Operational Definitions of ENCV Metrics HOT 3
- Is User Report Tokens Claimed a subset of Tokens Claimed? HOT 2
- Upgrade to Firebase 9
- Modeler tests have different results on ARM HOT 2
- SMS Validation and long expires
- v1.16.0 tag points to the same commit as v1.15.0 HOT 3
- system wide verification stats chart broken
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from exposure-notifications-verification-server.