You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by GitBox <gi...@apache.org> on 2021/03/25 02:02:54 UTC

[GitHub] [servicecomb-pack] coolbeevip commented on issue #689: 状态机器存储支持redis-cluster

coolbeevip commented on issue #689:
URL: https://github.com/apache/servicecomb-pack/issues/689#issuecomment-806304976


   Redis Cluster is not able to guarantee strong consistency.  
   
   In document https://redis.io/topics/cluster-tutorial, it is described as follows 
   
   Redis Cluster is not able to guarantee strong consistency. In practical terms this means that under certain conditions it is possible that Redis Cluster will lose writes that were acknowledged by the system to the client.
   
   The first reason why Redis Cluster can lose writes is because it uses asynchronous replication. This means that during writes the following happens:
   
   * Your client writes to the master B.
   * The master B replies OK to your client.
   * The master B propagates the write to its slaves B1, B2 and B3.
   
   As you can see, B does not wait for an acknowledgement from B1, B2, B3 before replying to the client, since this would be a prohibitive latency penalty for Redis, so if your client writes something, B acknowledges the write, but crashes before being able to send the write to its slaves, one of the slaves (that did not receive the write) can be promoted to master, losing the write forever.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org