自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

承載高并發(fā)的緩存技術(shù)究竟是什么?

網(wǎng)絡(luò)
緩存是指可以進行高速數(shù)據(jù)交換的存儲器,它先于內(nèi)存與CPU交換數(shù)據(jù),因此速率很快。那么緩存的運行邏輯是什么,以及緩存有哪些方案,將是本文的介紹重點。

作者 | 金鵬,單位:中國移動智慧家庭運營中心

?Labs 導(dǎo)讀

緩存是指可以進行高速數(shù)據(jù)交換的存儲器,它先于內(nèi)存與CPU交換數(shù)據(jù),因此速率很快。那么緩存的運行邏輯是什么,以及緩存有哪些方案,將是本文的介紹重點。

緩存(Cache)是將目標(biāo)數(shù)據(jù)存儲到一個具備高度可訪問性的高速運行層的技術(shù)。它旨在快速讀取使用率較高的、不經(jīng)常更新的數(shù)據(jù),避免在存取之前的請求重復(fù)訪問源數(shù)據(jù)層,產(chǎn)生額外的I/O資源消耗,繼而提升業(yè)務(wù)的并發(fā)度。為了提升數(shù)據(jù)訪問的運行速率,緩存數(shù)據(jù)也要權(quán)衡資源容量、數(shù)據(jù)刷新頻率設(shè)置過期時間或設(shè)置合理的緩存淘汰策略。主流的緩存方案有CDN緩存、瀏覽器緩存、本地緩存、外部緩存等。

Part 01  CDN緩存 

CDN指的是內(nèi)容分發(fā)網(wǎng)絡(luò),將資源緩存在CDN節(jié)點上,依靠部署在各地的邊緣服務(wù)器,通過中心平臺的負載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近去CDN緩存節(jié)點上獲取內(nèi)容,降低網(wǎng)絡(luò)延遲,提高訪問速度。運用到此項緩存技術(shù)的業(yè)務(wù)場景有:前端項目中的HTML、CSS、JS等靜態(tài)文件、物聯(lián)網(wǎng)中下載固件包、異地多活架構(gòu)中的資源請求等等。將這些文件部署或緩存在CDN節(jié)點上,提升資源訪問速度的同時又保證資源訪問的穩(wěn)定性。

Part 02  瀏覽器緩存 

瀏覽器緩存是指瀏覽器與后端服務(wù)器通過HTTP協(xié)議下的請求-響應(yīng)模式來通信時,第一次向服務(wù)器發(fā)送請求并拿到結(jié)果后,會根據(jù)響應(yīng)報文中的緩存規(guī)則來實現(xiàn)緩存。比如HTTP/1.1協(xié)議下會根據(jù)Cache-Control實現(xiàn)強制緩存規(guī)則;會在強制緩存失效下根據(jù)請求中的緩存標(biāo)識決定緩存規(guī)則。瀏覽器會話持也是一種緩存實現(xiàn),目前主流的技術(shù)方案有Cookie機制、Session機制、Token機制等。

圖片

Part 03  本地緩存 

本地緩存是指將響應(yīng)數(shù)據(jù)緩存在服務(wù)器的應(yīng)用進程內(nèi)存空間里,減少查詢持久化層的I/O消耗。優(yōu)點是數(shù)據(jù)不需要跨網(wǎng)絡(luò)傳輸,讀取性能更好,支持的QPS更高;缺點是會占用應(yīng)用進程的內(nèi)存空間,故不能進行大數(shù)據(jù)量的數(shù)據(jù)存儲,而且當(dāng)所在的應(yīng)用進程重啟時,本地緩存的數(shù)據(jù)會丟失。在Andlink云平臺項目中落地的本地緩存解決方案Caffeine,它的依賴包如下:

<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>${caffeine.version}</version>
</dependency>

Part 04 外部緩存或分布式緩存

與本地緩存相對應(yīng)的就是外部緩存或分布式緩存,它獨立于應(yīng)用進程部署,并可以設(shè)計成集群模式來保證數(shù)據(jù)讀寫分離、高性能、高可用。Andlink云平臺項目中落地的分布式緩存是基于Spring Boot Cache框架整合Redis集群的方案,該方案可以很好的解決數(shù)據(jù)丟失、業(yè)務(wù)并發(fā)能力、故障恢復(fù)和動態(tài)存儲擴容等常見業(yè)務(wù)痛點。結(jié)合業(yè)務(wù)的需求Redis提供了比較全的應(yīng)對方案,比如單機模式、主從模式、集群模式或哨兵模式,其中哨兵模式可以實現(xiàn)健康檢測和自動恢復(fù),是保障高并發(fā)業(yè)務(wù)穩(wěn)定運作的首選模式。方案的依賴包如下:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>${redis.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
<version>${cache.version}</version>
</dependency>

當(dāng)然,主流的緩存技術(shù)方案有很多,但總的方向是為了減少底層性能開銷、提高業(yè)務(wù)的高并發(fā)能力。目前Andlink云平臺支撐著億級的用戶量和千萬級的設(shè)備請求等,緩存技術(shù)在其中扮演著舉足輕重的角色。?

責(zé)任編輯:未麗燕 來源: 移動Labs
相關(guān)推薦

2012-05-28 22:49:50

PureView

2011-02-16 16:13:40

Debian

2015-08-26 09:54:19

物聯(lián)網(wǎng)

2018-09-10 13:47:21

數(shù)據(jù)科學(xué)統(tǒng)計學(xué)決策

2019-05-27 15:30:44

Node.jsJavaScript前端

2015-09-29 09:47:14

2022-06-13 09:51:35

UWB超寬帶無線載波通信技術(shù)

2011-08-04 13:24:28

IT運維

2020-07-08 08:09:08

邊緣計算邊緣云云平臺

2018-07-05 16:15:26

緩存數(shù)據(jù)cache miss

2014-07-28 08:28:38

Windows

2014-08-07 10:32:02

Windows微軟

2009-07-30 14:43:30

認識BSM

2021-08-09 05:19:08

Provider 前端前端代碼

2012-09-17 09:52:20

云計算云存儲公有云

2010-03-19 17:30:18

云計算

2020-12-17 17:33:47

MLOps大數(shù)據(jù)數(shù)據(jù)

2019-09-29 19:12:13

區(qū)塊鏈密碼學(xué)技術(shù)零知識證明

2022-04-02 17:20:00

微前端應(yīng)用技術(shù)

2015-06-04 10:26:50

點贊
收藏

51CTO技術(shù)棧公眾號