鎖是一種在并發(fā)編程中廣泛使用的工具,用于保護(hù)共享資源,防止多個(gè)線程同時(shí)訪問(wèn)而引起的競(jìng)爭(zhēng)問(wèn)題。在JVM的發(fā)展中,鎖機(jī)制逐漸演化,提供了多種鎖類型和...
緩存在系統(tǒng)設(shè)計(jì)中扮演著重要的角色,不僅能夠提升系統(tǒng)性能,還能夠提供一定程度的防御攻擊的能力。根據(jù)作用域的不同,緩存可以分為本地緩存和分布式緩存兩...
在一個(gè)由眾多服務(wù)組成的系統(tǒng)中,確保系統(tǒng)在發(fā)生故障時(shí)能夠以可控的方式降級(jí)是至關(guān)重要的。而這種降級(jí)不僅僅是技術(shù)手段上的熔斷與降級(jí),更需要考慮整體的可...
在系統(tǒng)設(shè)計(jì)中,可能會(huì)面臨封底估算(Back-of-the-Envelope Estimation)的場(chǎng)景,這要求你通過(guò)合理的估算來(lái)評(píng)估系統(tǒng)的能力...
服務(wù)的熔斷和降級(jí)是確保系統(tǒng)具有魯棒性的重要措施,它們與我們所說(shuō)的服務(wù)雪崩密切相關(guān)。 魯棒性(Robustness)是指系統(tǒng)在面對(duì)潛在的干擾或擾動(dòng)...
從單體架構(gòu)與SOA轉(zhuǎn)向微服務(wù),配置中心這個(gè)服務(wù)可能會(huì)有些陌生,尤其是單體架構(gòu),幾乎不存在這樣的需求。 我們過(guò)去的配置變更方式涉及手動(dòng)修改各節(jié)點(diǎn)的...
在前幾節(jié)我們確定了服務(wù)的劃分、通訊協(xié)議的選擇及接口的設(shè)計(jì)等,那接下我們考慮這樣一個(gè)問(wèn)題:我們將車貸系統(tǒng)拆分成了20個(gè)左右的服務(wù),這些服務(wù)怎么調(diào)用...
在討論事件驅(qū)動(dòng)之前我們先思考上一篇服務(wù)協(xié)同中用戶注冊(cè)例子描述的場(chǎng)景,其對(duì)應(yīng)的用戶服務(wù)偽代碼如下: 這是最簡(jiǎn)單直接的調(diào)用,從中我們可以發(fā)現(xiàn)有兩個(gè)問(wèn)...
理解服務(wù)治理中的服務(wù)編制(Orchestration)和服務(wù)協(xié)同(Choreography)的區(qū)別對(duì)于建立有效的服務(wù)體系結(jié)構(gòu)至關(guān)重要。下面對(duì)這兩...