遛狗回来,又看了眼CAP中的P,恍然大悟。
P:分区容错性。
在分布式系统中,多个模块协同提供服务。一般情况下数据是分散在各个模块。假设有两个模块A、B,正常情况下A、B两个模块通过网络互通,如果A提供服务的时候需要用到B的数据,那么就通过网络请求到B去拿数据,这样可以看做A和B在一个区。忽然间,B挂掉了,或者A和B之前的网络不通了,A和B就被分开隔离成两个区了,A就拿不到B的数据,那么就无法提供服务了,这个是不能容忍的呀。
怎么办呢?
那就把数据也复制到A上面一部分呗,即B在写数据的同时也写到A上面一部分。相反地A也可以这样。
这样就有了分区容错性。