I’m architecting the redis cluster to have a master and slave replicas. The initial architecture had a master which by default performs an asynchronous replication to the master. The design is suppose to have a DR component with the same setup.
The issue here is the client has no room for downtime and data loss for that matter as a result, asynchronous replication put them into the issue of loss of data. I observed per the documentation below, there’s no room to setup a synchronous replication which could possibly have loss of data as well.
" Synchronous replication of certain data can be requested by the clients using the [WAIT] command. However WAIT is only able to ensure that there are the specified number of acknowledged copies in the other Redis instances, it does not turn a set of Redis instances into a CP system with strong consistency: acknowledged writes can still be lost during a failover, depending on the exact configuration of the Redis persistence. However with WAIT the probability of losing a write after a failure event is greatly reduced to certain hard to trigger failure modes."
Does anyone have any ideas on how to circumvent this? Ideally a synchronous replication with no data loss will be ideal.