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
For lossless Redis migration we will need to make it possible for Relay to double write quotas into two separate clusters. It should be possible to configure a 'double write' Redis client, with a primary and secondary (or multiple secondaries), the client only reads from the primary but writes to all configured Redis instances.
Sketeched implementation:
Config:
redis:
a_good_namespace_for_multi_write:
- url: redis://redis1 # primary
- url: redis://redis2# for the multi configredis:
project_configs:
a_good_namespace_for_multi_write:
- url: redis://redis1 # primary
- url: redis://redis2misc: # No multi writeurl: redis://redis1
Implementation:
There is already a Client Wrapper in relay-redis, implement a MultiWriteOrBetterNamedRedisClient which dispatches writes to all of it's clients but only reads from the primary. Writes should happen in concurrently (joined).
Error Behaviour:
Log errors of secondary nodes but not fail and only use the primary response.
The text was updated successfully, but these errors were encountered:
For lossless Redis migration we will need to make it possible for Relay to double write quotas into two separate clusters. It should be possible to configure a 'double write' Redis client, with a primary and secondary (or multiple secondaries), the client only reads from the primary but writes to all configured Redis instances.
Sketeched implementation:
Config:
Implementation:
There is already a Client Wrapper in
relay-redis
, implement aMultiWriteOrBetterNamedRedisClient
which dispatches writes to all of it's clients but only reads from the primary. Writes should happen in concurrently (joined).Error Behaviour:
Log errors of secondary nodes but not fail and only use the primary response.
The text was updated successfully, but these errors were encountered: