【Java面试题】这道分布式面试题一定要拿下,说说你对CAP的理解?看看高手如何回答
分布式架構(gòu)之所以復(fù)雜,就是因?yàn)樵黾恿司W(wǎng)絡(luò)通信,而網(wǎng)絡(luò)通信本身具有不確定性。
但是作為業(yè)務(wù)支撐的整個(gè)技術(shù)架構(gòu),所有業(yè)務(wù)的處理必須要具備確定性。
因此在這樣一個(gè)矛盾下,導(dǎo)致架構(gòu)變得更加復(fù)雜。
面試題”說說你對(duì)CAP的理解“這個(gè)問題,就是在這個(gè)背景下產(chǎn)生的
大家好,我是Mic,一個(gè)工作了14年的Java程序員。
下面我們來分析一下面試官對(duì)于這個(gè)問題的考察意圖。
考察目的
這個(gè)問題考察難度算中等,主要針對(duì)5年以上開發(fā)經(jīng)驗(yàn)的同學(xué)。
考察目的有兩個(gè):
了解求職者對(duì)于分布式架構(gòu)的理解
在分布式架構(gòu)中,很多技術(shù)方案在落地的時(shí)候需要有取舍,要么是CP、要么是AP,理解CAP定理,能夠更好的做出合適的選擇
高手:
CAP模型,在一個(gè)分布式系統(tǒng)里面,不可能同時(shí)滿足三個(gè)點(diǎn)
-
一致性(Consistency),訪問分布式系統(tǒng)中的每一個(gè)節(jié)點(diǎn)都能獲得最新的數(shù)據(jù)。
-
可用性(Availability),每次請(qǐng)求都能獲得一個(gè)有效的訪問,但不保證數(shù)據(jù)是最新的。
-
分區(qū)容錯(cuò)性(Partition tolerance),分區(qū)相當(dāng)于對(duì)通信耗時(shí)的要求,系統(tǒng)如果不能在時(shí)限范圍內(nèi)達(dá)成數(shù)據(jù)一致,就意味著發(fā)生了分區(qū)的情況。
在CAP模型中只能滿足CP或者AP,之所以不能滿足CA,因?yàn)榫W(wǎng)絡(luò)通信的不確定性可能會(huì)導(dǎo)致分區(qū)容錯(cuò),也就是分區(qū)容錯(cuò)性必然是存在的,因此我們只能在一致性和可用性之間做選擇。
總結(jié)
大家知道怎么回答了嗎?
如果你喜歡我的作品,記得點(diǎn)贊收藏加關(guān)注哦!!!
另外,我將所有Java面試系列制作成了完整的面試文檔。它的便捷之處在于,可以通過檢索的方式,找到你想要的面試題,目前已經(jīng)更新200期,總計(jì)超過20W字!
【想領(lǐng)取面試文檔的小伙伴可以點(diǎn)擊文章底部名片無套路免費(fèi)贈(zèng)送給大家!】
需要高手面試文檔面試文檔的小伙伴可以掃描下方二維碼
↓↓↓↓↓↓↓↓↓↓↓↓↓
總結(jié)
以上是生活随笔為你收集整理的【Java面试题】这道分布式面试题一定要拿下,说说你对CAP的理解?看看高手如何回答的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java统计代码的行数
- 下一篇: java美元兑换,(Java实现) 美元