中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)-創(chuàng)新互聯(lián)

本文主要介紹大型分布式系統(tǒng)中緩存的相關(guān)理論,常見的緩存組件以及應(yīng)用場景。

創(chuàng)新互聯(lián)是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的BGP機(jī)房服務(wù)器托管服務(wù)

1 緩存概述

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

緩存概述

2 緩存的分類

緩存主要分為以下四類

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

緩存的分類

2.1 CDN緩存

基本介紹

CDN(Content Delivery Network 內(nèi)容分發(fā)網(wǎng)絡(luò))的基本原理是廣泛采用各種緩存服務(wù)器,將這些緩存服務(wù)器分布到用戶訪問相對(duì)集中的地區(qū)或網(wǎng)絡(luò)中,在用戶訪問網(wǎng)站時(shí),利用全局負(fù)載技術(shù)將用戶的訪問指向距離最近的工作正常的緩存服務(wù)器上,由緩存服務(wù)器直接響應(yīng)用戶請(qǐng)求

應(yīng)用場景

主要緩存靜態(tài)資源,例如圖片,視頻

應(yīng)用圖

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

未使用CDN緩存

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

使用CDN緩存

優(yōu)點(diǎn)

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

優(yōu)點(diǎn)

2.2 反向代理緩存

基本介紹

反向代理位于應(yīng)用服務(wù)器機(jī)房,處理所有對(duì)WEB服務(wù)器的請(qǐng)求。

如果用戶請(qǐng)求的頁面在代理服務(wù)器上有緩沖的話,代理服務(wù)器直接將緩沖內(nèi)容發(fā)送給用戶。如果沒有緩沖則先向WEB服務(wù)器發(fā)出請(qǐng)求,取回?cái)?shù)據(jù),本地緩存后再發(fā)送給用戶。通過降低向WEB服務(wù)器的請(qǐng)求數(shù),從而降低了WEB服務(wù)器的負(fù)載。

應(yīng)用場景

一般只緩存體積較小靜態(tài)文件資源,如css、js、圖片

應(yīng)用圖

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

反向代理緩存應(yīng)用圖

開源實(shí)現(xiàn)

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

開源實(shí)現(xiàn)

2.3 本地應(yīng)用緩存

基本介紹

指的是在應(yīng)用中的緩存組件,其大的優(yōu)點(diǎn)是應(yīng)用和cache是在同一個(gè)進(jìn)程內(nèi)部,請(qǐng)求緩存非??焖伲瑳]有過多的網(wǎng)絡(luò)開銷等,在單應(yīng)用不需要集群支持或者集群情況下各節(jié)點(diǎn)無需互相通知的場景下使用本地緩存較合適;

同時(shí),它的缺點(diǎn)也是應(yīng)為緩存跟應(yīng)用程序耦合,多個(gè)應(yīng)用程序無法直接的共享緩存,各應(yīng)用或集群的各節(jié)點(diǎn)都需要維護(hù)自己的單獨(dú)緩存,對(duì)內(nèi)存是一種浪費(fèi)。

應(yīng)用場景

緩存字典等常用數(shù)據(jù)

緩存介質(zhì)

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

緩存介質(zhì)

實(shí)現(xiàn)

編程直接實(shí)現(xiàn)

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

編程直接實(shí)現(xiàn)

Ehcache

基本介紹

Ehcache是??一種基于標(biāo)準(zhǔn)的開源緩存,可提高性能,卸載數(shù)據(jù)庫并簡化可伸縮性。

它是使用最廣泛的基于Java的緩存,因?yàn)樗δ軓?qiáng)大,經(jīng)過驗(yàn)證,功能齊全,并與其他流行的庫和框架集成。Ehcache可以從進(jìn)程內(nèi)緩存擴(kuò)展到使用TB級(jí)緩存的混合進(jìn)程內(nèi)/進(jìn)程外部署

應(yīng)用場景

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Ehcache應(yīng)用場景

Ehcache架構(gòu)圖

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Ehcache架構(gòu)圖

Ehcache主要特征

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Ehcache主要特征

Ehcache緩存數(shù)據(jù)過期策略

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

緩存數(shù)據(jù)過期策略.png

Ehcache過期數(shù)據(jù)淘汰機(jī)制

懶淘汰機(jī)制 :每次往緩存放入數(shù)據(jù)的時(shí)候,都會(huì)存一個(gè)時(shí)間,在讀取的時(shí)候要和設(shè)置的時(shí)間做TTL比較來判斷是否過期

Guava Cache

2.4 分布式緩存

基本介紹

Guava Cache是Google開源的Java重用工具集庫Guava里的一款緩存工具

特點(diǎn)與功能

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Guava Cache特點(diǎn)與功能.png

應(yīng)用場景

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Guava Cache應(yīng)用場景.png

數(shù)據(jù)結(jié)構(gòu)圖

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Guava Cache數(shù)據(jù)結(jié)構(gòu)圖

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Guava Cache結(jié)構(gòu)特點(diǎn).png

緩存更新策略

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Guava Cache 緩存更新策略

緩存回收策略

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Guava Cache緩存回收策略.png

2.4 分布式緩存

指的是與應(yīng)用分離的緩存組件或服務(wù),其大的優(yōu)點(diǎn)是自身就是一個(gè)獨(dú)立的應(yīng)用,與本地應(yīng)用隔離,多個(gè)應(yīng)用可直接的共享緩存。

主要應(yīng)用場景

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

分布式緩存應(yīng)用場景.png

主要接入方式

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

分布式緩存接入方式.png

下面介紹分布式緩存常見的2大開源實(shí)現(xiàn)Memcached和Redis

Memcached

基本介紹

Memcached是一個(gè)高性能,分布式內(nèi)存對(duì)象緩存系統(tǒng),通過在內(nèi)存里維護(hù)一個(gè)統(tǒng)一的巨大的hash表,它能夠用來存儲(chǔ)各種格式的數(shù)據(jù),包括圖像、視頻、文件以及數(shù)據(jù)庫檢索的結(jié)果等。簡單的說就是將數(shù)據(jù)調(diào)用到內(nèi)存中,然后從內(nèi)存中讀取,從而大大提高讀取速度。

特點(diǎn)

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Memcached特點(diǎn)

基本架構(gòu)

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Memcached基本架構(gòu)

緩存數(shù)據(jù)過期策略

LRU(最近最少使用)到期失效策略 ,在Memcached內(nèi)存儲(chǔ)數(shù)據(jù)項(xiàng)時(shí),可以指定它在緩存的失效時(shí)間,默認(rèn)為永久。當(dāng)Memcached服務(wù)器用完分配的內(nèi)時(shí),失效的數(shù)據(jù)被首先替換,然后也是最近未使用的數(shù)據(jù)。

數(shù)據(jù)淘汰內(nèi)部實(shí)現(xiàn)

懶淘汰機(jī)制 :每次往緩存放入數(shù)據(jù)的時(shí)候,都會(huì)存一個(gè)時(shí)間,在讀取

的時(shí)候要和設(shè)置的時(shí)間做TTL比較來判斷是否過期

分布式集群實(shí)現(xiàn)

服務(wù)端并沒有 “ 分布式 ” 功能。每個(gè)服務(wù)器都是完全獨(dú)立和隔離的服務(wù)。 Memcached的分布式,是由客戶端程序?qū)崿F(xiàn)的

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

數(shù)據(jù)讀寫流程圖

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Memcached分布式集群實(shí)現(xiàn)

Redis

基本介紹

Redis是一個(gè)遠(yuǎn)程內(nèi)存數(shù)據(jù)庫(非關(guān)系型數(shù)據(jù)庫) ,性能強(qiáng)勁,具有復(fù)制特性以及解決問題而生的獨(dú)一無二的數(shù)據(jù)模型。它可以存儲(chǔ)鍵值對(duì)與5種不同類型的值之間的映射,可以將存儲(chǔ)在內(nèi)存的鍵值對(duì)數(shù)據(jù)持久化到硬盤,可以使用復(fù)制特性來擴(kuò)展讀性能,

Redis還可以使用客戶端分片來擴(kuò)展寫性能。內(nèi)置了 復(fù)制(replication),LUA腳本(Lua scripting),LRU驅(qū)動(dòng)事件(LRU eviction),事務(wù)(transactions) 和不同級(jí)別的 磁盤持久化(persistence), 并通過 Redis哨兵(Sentinel)和自動(dòng)分區(qū)(Cluster)提供高可用性(high availability)。

數(shù)據(jù)模型

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Redis數(shù)據(jù)模型

數(shù)據(jù)淘汰策略

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Redis數(shù)據(jù)淘汰策略

數(shù)據(jù)淘汰內(nèi)部實(shí)現(xiàn)

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Redis數(shù)據(jù)淘汰內(nèi)部實(shí)現(xiàn).png

持久化方式

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Redis持久化方式

底層實(shí)現(xiàn)部分解析

啟動(dòng)的部分過程圖解

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

啟動(dòng)的部分過程

server端持久化的部分操作圖解

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

server端持久化的部分操作

底層哈希表實(shí)現(xiàn)(漸進(jìn)式Rehash)

初始化字典

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

初始化字典

新增字典元素圖解

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

新增字典元素圖解

Rehash執(zhí)行流程

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Rehash執(zhí)行流程

緩存設(shè)計(jì)原則

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

Redis緩存設(shè)計(jì)原則.png

迎工作一到五年的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等多個(gè)知識(shí)點(diǎn)的架構(gòu)資料)合理利用自己每一分每一秒的時(shí)間來學(xué)習(xí)提升自己,不要再用"沒有時(shí)間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個(gè)交代!

Redis與Memcached比較

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)

網(wǎng)頁名稱:深入理解分布式系統(tǒng)中的緩存架構(gòu)(上)-創(chuàng)新互聯(lián)
地址分享:http://www.rwnh.cn/article20/dpepjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器品牌網(wǎng)站制作、全網(wǎng)營銷推廣、外貿(mào)建站、做網(wǎng)站微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
运城市| 郎溪县| 宝兴县| 江安县| 吴江市| 武冈市| 建始县| 通榆县| 卢氏县| 绥阳县| 自贡市| 察哈| 东阳市| 孟村| 财经| 安宁市| 淮阳县| 辉南县| 武安市| 蒙山县| 冕宁县| 武定县| 潼南县| 河西区| 延津县| 阳城县| 平湖市| 贵溪市| 阳江市| 固原市| 虞城县| 思茅市| 静安区| 连南| 洮南市| 泉州市| 龙门县| 扎兰屯市| 沅江市| 河北区| 新巴尔虎右旗|