I would like to avoid an overhead of having replicas for each master in my redis cluster
within my task scope:
- data loss undesirable, but is tolerable(I can lose up to a minute of writes)
- in case of cluster unavailability logic working with redis cluster data can be paused until cluster is restored thus effectively stopping the snowball of any future data loss
- I can tolerate up to 5 minutes of cluster unavailability in case of node/nodes failure, not a big deal.
so here goes the idea: do not setup any replicas but instead have AOF stored on reliable and distributed file system(ebs raid or custom solution)
Node 1
redis master instance 1-1
redis master instance 1-2
redis master instance 1-N
Node 2
redis master instance 2-1
redis master instance 2-2
redis master instance M
etc...
In case redis master instance crashes it's going to be automatically restarted
In case redis node crashes a backup node going to be launched asap(ec2) using the previously persisted AOF
Anything I should be aware about? Possible pitfalls?