CAP理论中的P到底是个什么意思
在CAP理論中,C代表一致性,A代表可用性(在一定時(shí)間內(nèi),用戶的請(qǐng)求都會(huì)得到應(yīng)答),P代表分區(qū)容錯(cuò)。
這里分區(qū)容錯(cuò)到底是指數(shù)據(jù)上的多個(gè)備份還是說其它的 ? 我感覺分布式系統(tǒng)中,CAP理論應(yīng)該是C和A存在不可同時(shí)滿足, 既要保證高可用,又要保證強(qiáng)一致性,因?yàn)槎鄠€(gè)節(jié)點(diǎn)之間存在數(shù)據(jù)復(fù)制,所以要么保證強(qiáng)一致性,就不一定能在指定的時(shí)間內(nèi)返回客戶的請(qǐng)求, 要么保證高可用,但是各個(gè)節(jié)點(diǎn)的數(shù)據(jù)不一定是一致的。 但是和P有什么關(guān)系呢 ?
一個(gè)分布式系統(tǒng)里面,節(jié)點(diǎn)組成的網(wǎng)絡(luò)本來應(yīng)該是連通的。然而可能因?yàn)橐恍┕收希沟糜行┕?jié)點(diǎn)之間不連通了,整個(gè)網(wǎng)絡(luò)就分成了幾塊區(qū)域。數(shù)據(jù)就散布在了這些不連通的區(qū)域中。這就叫分區(qū)。
當(dāng)你一個(gè)數(shù)據(jù)項(xiàng)只在一個(gè)節(jié)點(diǎn)中保存,那么分區(qū)出現(xiàn)后,和這個(gè)節(jié)點(diǎn)不連通的部分就訪問不到這個(gè)數(shù)據(jù)了。這時(shí)分區(qū)就是無法容忍的。
提高分區(qū)容忍性的辦法就是一個(gè)數(shù)據(jù)項(xiàng)復(fù)制到多個(gè)節(jié)點(diǎn)上,那么出現(xiàn)分區(qū)之后,這一數(shù)據(jù)項(xiàng)就可能分布到各個(gè)區(qū)里。容忍性就提高了。
然而,要把數(shù)據(jù)復(fù)制到多個(gè)節(jié)點(diǎn),就會(huì)帶來一致性的問題,就是多個(gè)節(jié)點(diǎn)上面的數(shù)據(jù)可能是不一致的。要保證一致,每次寫操作就都要等待全部節(jié)點(diǎn)寫成功,而這等待又會(huì)帶來可用性的問題。
總的來說就是,數(shù)據(jù)存在的節(jié)點(diǎn)越多,分區(qū)容忍性越高,但要復(fù)制更新的數(shù)據(jù)就越多,一致性就越難保證。為了保證一致性,更新所有節(jié)點(diǎn)數(shù)據(jù)所需要的時(shí)間就越長(zhǎng),可用性就會(huì)降低。
https://www.zhihu.com/question/54105974?from=profile_question_card
總結(jié)
以上是生活随笔為你收集整理的CAP理论中的P到底是个什么意思的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么会有可恶的腾讯电脑管家&怎
- 下一篇: 【原创】国网远程加密机认证软件开发2(认