国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

高并發(fā)緩存機(jī)制的改進(jìn)

2019-05-10 09:52:38肖劍偉廣東省科技職業(yè)技術(shù)學(xué)校
數(shù)碼世界 2019年4期
關(guān)鍵詞:雙極線(xiàn)程分布式

肖劍偉 廣東省科技職業(yè)技術(shù)學(xué)校

目的

通過(guò)減少耗時(shí)的數(shù)據(jù)庫(kù)數(shù)據(jù)訪(fǎng)問(wèn),增加在緩存上分發(fā)數(shù)據(jù)達(dá)到高并發(fā)的數(shù)據(jù)請(qǐng)求需求。

整體架構(gòu)圖:

方案介紹:

1.從整體架構(gòu)圖可以看出,一個(gè)整體的架構(gòu)需要多個(gè)架構(gòu)層組成,而所有的架構(gòu)組織都是為了系統(tǒng)的健壯性,可拓展性來(lái)設(shè)計(jì)。但是,這上面的架構(gòu)也并不是適用所有的業(yè)務(wù)系統(tǒng),這里只是方便理解,不做專(zhuān)門(mén)的分析,我們重點(diǎn)介紹緩存機(jī)制的改進(jìn)。

2.對(duì)并發(fā)處理有過(guò)相關(guān)經(jīng)驗(yàn)的人都知道,使用緩存機(jī)制一般都會(huì)使用到ehCache(本地緩存),redis(分布式緩存)等工具來(lái)實(shí)現(xiàn),本文將以Java語(yǔ)言來(lái)進(jìn)行描述,而對(duì)于哪一種方案的實(shí)現(xiàn)都會(huì)根據(jù)自有的業(yè)務(wù)來(lái)進(jìn)行選擇,其中ehCache本地緩存比較多的是用在實(shí)時(shí)性要求不高,處理速度要求卻比較高的情況;redis分布式緩存則在實(shí)時(shí)性要求相對(duì)來(lái)說(shuō)會(huì)比較高,而處理速度會(huì)由于網(wǎng)絡(luò)帶寬或者其他因素導(dǎo)致速度相對(duì)來(lái)說(shuō)會(huì)慢一點(diǎn)。因此,可以把兩種緩存機(jī)制加在一起,實(shí)現(xiàn)了二級(jí)緩存機(jī)制,也叫雙極緩存機(jī)制。這樣既提高了緩存速度,又提高了實(shí)時(shí)效應(yīng)。

3.從上面架構(gòu)圖來(lái)看,雙極緩存已經(jīng)可以滿(mǎn)足中型企業(yè)的數(shù)據(jù)訪(fǎng)問(wèn)需求了,一定程度上緩解了數(shù)據(jù)庫(kù)的壓力,在大部分企業(yè)上派得上用場(chǎng),類(lèi)似日活躍用戶(hù)100萬(wàn)左右的企業(yè)應(yīng)該是可以滿(mǎn)足需求的。但是在超大型互聯(lián)網(wǎng)企業(yè)中,日活躍用戶(hù)超過(guò)上億,例如BAT企業(yè),他們這些企業(yè)在每秒鐘的訪(fǎng)問(wèn)頻率都是很驚人的幾何級(jí)數(shù)增長(zhǎng)。所以,當(dāng)ehCache或者redis等數(shù)據(jù)超時(shí)的那一刻都會(huì)有龐大的數(shù)據(jù)穿透到數(shù)據(jù)庫(kù),給數(shù)據(jù)庫(kù)造成極大的壓力,甚至宕機(jī)(服務(wù)器不能正常工作)。在相同成本的情況下(指的是硬件設(shè)施相同),雙極緩存仍然不能滿(mǎn)足超大型企業(yè)的需求。因此,我們采用了“雙極緩存+單點(diǎn)穿透”來(lái)實(shí)現(xiàn)緩存的無(wú)縫銜接,簡(jiǎn)稱(chēng)穿透式雙極緩存。

4.穿透式雙極緩存的原理是在數(shù)據(jù)訪(fǎng)問(wèn)緩存的時(shí)候,根據(jù)緩存的過(guò)期數(shù)據(jù),讓某一條線(xiàn)程去訪(fǎng)問(wèn)上一層服務(wù)器,其他線(xiàn)程保持不變,等該條線(xiàn)程返回的數(shù)據(jù)更新本地?cái)?shù)據(jù)。例如:有一條數(shù)據(jù)通過(guò)ehcache的時(shí)候判斷是否快到過(guò)期時(shí)間的某個(gè)數(shù)據(jù),這時(shí)候會(huì)讓這條數(shù)據(jù)去訪(fǎng)問(wèn)redis或者數(shù)據(jù)庫(kù)、redis或者數(shù)據(jù)庫(kù)返回的時(shí)候同時(shí)更新ehcache。邏輯圖如下:

代碼實(shí)現(xiàn):

1.核心代碼實(shí)現(xiàn)

說(shuō)明:判斷當(dāng)前線(xiàn)程是否達(dá)到穿透的條件,如果滿(mǎn)足條件,則線(xiàn)程單獨(dú)訪(fǎng)問(wèn)分布式緩存并更新本地緩存,其他線(xiàn)程不做穿透、等該條緩存更新本地緩存后,所有的線(xiàn)程都訪(fǎng)問(wèn)同個(gè)數(shù)據(jù)。

2.ehCacheUtil

說(shuō)明:封裝EhCacheCacheManager類(lèi),實(shí)現(xiàn)本地緩存增刪改查操作,并超時(shí)失效等。

3.RedisUtil

說(shuō)明:封裝RedisTempLate類(lèi),實(shí)現(xiàn)分布式緩存增刪改查操作,并超時(shí)失效等。

4.jar包引用

說(shuō)明:通過(guò)使用 maven引入第三部包

5 總結(jié)

該方案在本地緩存即將過(guò)期之前用單獨(dú)一條線(xiàn)程重新拉取了最新數(shù)據(jù),并更新了本地緩存的過(guò)期時(shí)間,既保證了數(shù)據(jù)的有效性,又確保了并發(fā)不會(huì)在同一時(shí)刻穿透上一層服務(wù)。因此,方案有效的解決了高并發(fā),高實(shí)效的需求!

猜你喜歡
雙極線(xiàn)程分布式
基于雙極化解耦超表面的線(xiàn)轉(zhuǎn)圓極化反射陣列天線(xiàn)設(shè)計(jì)
雙極直覺(jué)模糊超圖*
分布式光伏熱錢(qián)洶涌
能源(2017年10期)2017-12-20 05:54:07
分布式光伏:爆發(fā)還是徘徊
能源(2017年5期)2017-07-06 09:25:54
淺談linux多線(xiàn)程協(xié)作
鼻內(nèi)鏡下雙極電凝治療嚴(yán)重鼻出血的療效
基于DDS的分布式三維協(xié)同仿真研究
強(qiáng)生ENSEAL? G2 高級(jí)雙極電刀
西門(mén)子 分布式I/O Simatic ET 200AL
Linux線(xiàn)程實(shí)現(xiàn)技術(shù)研究
成安县| 吐鲁番市| 江油市| 吉木乃县| 安宁市| 汉寿县| 南皮县| 淳化县| 五大连池市| 额尔古纳市| 松潘县| 天台县| 镇康县| 磴口县| 舟山市| 上犹县| 绍兴县| 涡阳县| 临海市| 信丰县| 义乌市| 临安市| 桃园市| 聂拉木县| 万山特区| 临沧市| 晋宁县| 进贤县| 永新县| 崇文区| 博兴县| 宁蒗| 永城市| 额尔古纳市| 巫山县| 桃园县| 牡丹江市| 通许县| 沅陵县| 瑞丽市| 璧山县|