性能測試 Case1:求數(shù)據(jù)集中某個(gè)字段的最大值 benchmark 結(jié)果如下 從上圖可以看出,常規(guī)方法的速度是 linq 的110倍左右,li...
原理 守護(hù)進(jìn)程(daemon) 守護(hù)進(jìn)程是一類在后臺(tái)運(yùn)行的特殊進(jìn)程,用于執(zhí)行特定的系統(tǒng)任務(wù)。他獨(dú)立于控制終端并且周期性的執(zhí)行某種任務(wù)或等待處理某...
傳統(tǒng)哈希算法的局限性 在分布式系統(tǒng)中,通常使用多個(gè)節(jié)點(diǎn)來保存數(shù)據(jù),以提高并發(fā)能力和容量,那么如果決定數(shù)據(jù)保存到哪個(gè)節(jié)點(diǎn)上呢?一般的做法是通過一個(gè)...
業(yè)務(wù)使用Redis做緩存,當(dāng)有數(shù)據(jù)更新時(shí),如何保證緩存及時(shí)更新 讀數(shù)據(jù)流程 請(qǐng)求到來,業(yè)務(wù)代碼會(huì)先查Redis,查不到再去查DB,并將結(jié)果寫入R...
單實(shí)例往往不能滿足生產(chǎn)環(huán)境的需求,需要引入Redis集群,比較常見的Redis集群方案有主從復(fù)制、哨兵模式、官網(wǎng)的Redis Cluster,另...
什么是熱點(diǎn)key? 對(duì)于web應(yīng)用來說,用戶消費(fèi)的數(shù)據(jù)遠(yuǎn)遠(yuǎn)大于生產(chǎn)的數(shù)據(jù),大多人使用都只是進(jìn)行瀏覽,少數(shù)的人才會(huì)進(jìn)行評(píng)論。對(duì)于web服務(wù)來說,某...
什么是協(xié)程? 進(jìn)程和線程 一個(gè)應(yīng)用程序時(shí)運(yùn)行在操作系統(tǒng)上的一個(gè)進(jìn)程。進(jìn)程是一個(gè)運(yùn)行在自己獨(dú)立內(nèi)存空間的獨(dú)立執(zhí)行體,是操作系統(tǒng)進(jìn)行資源分配的最小單...
為什么要限流? 由于Web服務(wù)無法控制調(diào)用方的行為,當(dāng)遇到請(qǐng)求并發(fā)量超過系統(tǒng)的容量閾值,會(huì)導(dǎo)致服務(wù)器資源耗盡從而導(dǎo)致服務(wù)異常或宕機(jī),而且某個(gè)服務(wù)...
全局唯一ID要求 分布式系統(tǒng)中,我們會(huì)對(duì)一些數(shù)據(jù)量大的業(yè)務(wù)進(jìn)行拆分,如用戶表、訂單表,當(dāng)數(shù)據(jù)量巨大導(dǎo)致數(shù)據(jù)庫性能下降時(shí),通常會(huì)進(jìn)行分庫分表,無法...