本篇內(nèi)容主要講解“Java緩存架構(gòu)設(shè)計常見問題有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Java緩存架構(gòu)設(shè)計常見問題有哪些”吧!
1 分層緩存架構(gòu)設(shè)計
2 緩存帶來的復(fù)雜度問題
常見的問題主要包括
數(shù)據(jù)一致性
緩存穿透
緩存雪崩
緩存高可用
緩存熱點(diǎn) 下面逐一介紹分析這些問題以及相應(yīng)的解決方案。
數(shù)據(jù)一致性
因?yàn)榫彺鎸儆诔志没瘮?shù)據(jù)的一個副本,因此不可避免的會出現(xiàn)數(shù)據(jù)不一致問題。導(dǎo)致臟讀或讀不到數(shù)據(jù)的情況。數(shù)據(jù)不一致,一般是因?yàn)榫W(wǎng)絡(luò)不穩(wěn)定或節(jié)點(diǎn)故障導(dǎo)致
問題出現(xiàn)的常見3個場景以及解決方案:
緩存穿透
緩存一般是Key,value方式存在,當(dāng)某一個Key不存在時會查詢數(shù)據(jù)庫,假如這個Key,一直不存在,則會頻繁的請求數(shù)據(jù)庫,對數(shù)據(jù)庫造成訪問壓力。
主要解決方案:
對結(jié)果為空的數(shù)據(jù)也進(jìn)行緩存,當(dāng)此key有數(shù)據(jù)后,清理緩存
一定不存在的key,采用布隆過濾器,建立一個大的Bitmap中,查詢時通過該bitmap過濾
緩存雪崩
緩存高可用
緩存是否高可用,需要根據(jù)實(shí)際的場景而定,并不是所有業(yè)務(wù)都要求緩存高可用,需要結(jié)合具體業(yè)務(wù),具體情況進(jìn)行方案設(shè)計,例如臨界點(diǎn)是是否對后端的數(shù)據(jù)庫造成影響。
主要解決方案:
分布式:實(shí)現(xiàn)數(shù)據(jù)的海量緩存
復(fù)制:實(shí)現(xiàn)緩存數(shù)據(jù)節(jié)點(diǎn)的高可用
緩存熱點(diǎn)
一些特別熱點(diǎn)的數(shù)據(jù),高并發(fā)訪問同一份緩存數(shù)據(jù),導(dǎo)致緩存服務(wù)器壓力過大。
解決:復(fù)制多份緩存副本,把請求分散到多個緩存服務(wù)器上,減輕緩存熱點(diǎn)導(dǎo)致的單臺緩存服務(wù)器壓力
3 業(yè)界案例
案例主要參考新浪微博陳波的技術(shù)分享
技術(shù)挑戰(zhàn)
Feed緩存架構(gòu)圖
架構(gòu)特點(diǎn)
新浪微博把SSD應(yīng)用在分布式緩存場景中,將傳統(tǒng)的Redis/MC + Mysql方式,擴(kuò)展為 Redis/MC + SSD Cache + Mysql方式,SSD Cache作為L2緩存使用,第一降低了MC/Redis成本過高,容量小的問題,也解決了穿透DB帶來的數(shù)據(jù)庫訪問壓力
迎工作一到五年的Java工程師朋友們加入Java架構(gòu)開發(fā):860113481
群內(nèi)提供免費(fèi)的Java架構(gòu)學(xué)習(xí)資料(里面有高可用、高并發(fā)、高性能及分布式、Jvm性能調(diào)優(yōu)、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點(diǎn)的架構(gòu)資料)合理利用自己每一分每一秒的時間來學(xué)習(xí)提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
主要在數(shù)據(jù)架構(gòu)、性能、儲存成本、服務(wù)化等不同方面進(jìn)行了優(yōu)化增強(qiáng)
到此,相信大家對“Java緩存架構(gòu)設(shè)計常見問題有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站標(biāo)題:Java緩存架構(gòu)設(shè)計常見問題有哪些-創(chuàng)新互聯(lián)
文章起源:http://chinadenli.net/article44/dgpgee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、Google、營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、App開發(fā)、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容