成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

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

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

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

1 緩存概述

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

緩存概述

2 緩存的分類

緩存主要分為以下四類

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

緩存的分類

2.1 CDN緩存

基本介紹

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

應用場景

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

應用圖

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

未使用CDN緩存

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

使用CDN緩存

優(yōu)點

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

優(yōu)點

2.2 反向代理緩存

基本介紹

反向代理位于應用服務器機房,處理所有對WEB服務器的請求。

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

應用場景

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

應用圖

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

反向代理緩存應用圖

開源實現(xiàn)

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

開源實現(xiàn)

2.3 本地應用緩存

基本介紹

指的是在應用中的緩存組件,其大的優(yōu)點是應用和cache是在同一個進程內部,請求緩存非??焖?,沒有過多的網絡開銷等,在單應用不需要集群支持或者集群情況下各節(jié)點無需互相通知的場景下使用本地緩存較合適;

同時,它的缺點也是應為緩存跟應用程序耦合,多個應用程序無法直接的共享緩存,各應用或集群的各節(jié)點都需要維護自己的單獨緩存,對內存是一種浪費。

應用場景

緩存字典等常用數據

緩存介質

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

緩存介質

實現(xiàn)

編程直接實現(xiàn)

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

編程直接實現(xiàn)

Ehcache

基本介紹

Ehcache是??一種基于標準的開源緩存,可提高性能,卸載數據庫并簡化可伸縮性。

它是使用最廣泛的基于Java的緩存,因為它功能強大,經過驗證,功能齊全,并與其他流行的庫和框架集成。Ehcache可以從進程內緩存擴展到使用TB級緩存的混合進程內/進程外部署

應用場景

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

Ehcache應用場景

Ehcache架構圖

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

Ehcache架構圖

Ehcache主要特征

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

Ehcache主要特征

Ehcache緩存數據過期策略

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

緩存數據過期策略.png

Ehcache過期數據淘汰機制

懶淘汰機制 :每次往緩存放入數據的時候,都會存一個時間,在讀取的時候要和設置的時間做TTL比較來判斷是否過期

Guava Cache

2.4 分布式緩存

基本介紹

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

特點與功能

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

Guava Cache特點與功能.png

應用場景

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

Guava Cache應用場景.png

數據結構圖

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

Guava Cache數據結構圖

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

Guava Cache結構特點.png

緩存更新策略

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

Guava Cache 緩存更新策略

緩存回收策略

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

Guava Cache緩存回收策略.png

2.4 分布式緩存

指的是與應用分離的緩存組件或服務,其大的優(yōu)點是自身就是一個獨立的應用,與本地應用隔離,多個應用可直接的共享緩存。

主要應用場景

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

分布式緩存應用場景.png

主要接入方式

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

分布式緩存接入方式.png

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

Memcached

基本介紹

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

特點

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

Memcached特點

基本架構

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

Memcached基本架構

緩存數據過期策略

LRU(最近最少使用)到期失效策略 ,在Memcached內存儲數據項時,可以指定它在緩存的失效時間,默認為永久。當Memcached服務器用完分配的內時,失效的數據被首先替換,然后也是最近未使用的數據。

數據淘汰內部實現(xiàn)

懶淘汰機制 :每次往緩存放入數據的時候,都會存一個時間,在讀取

的時候要和設置的時間做TTL比較來判斷是否過期

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

服務端并沒有 “ 分布式 ” 功能。每個服務器都是完全獨立和隔離的服務。 Memcached的分布式,是由客戶端程序實現(xiàn)的

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

數據讀寫流程圖

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

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

Redis

基本介紹

Redis是一個遠程內存數據庫(非關系型數據庫) ,性能強勁,具有復制特性以及解決問題而生的獨一無二的數據模型。它可以存儲鍵值對與5種不同類型的值之間的映射,可以將存儲在內存的鍵值對數據持久化到硬盤,可以使用復制特性來擴展讀性能,

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

數據模型

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

Redis數據模型

數據淘汰策略

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

Redis數據淘汰策略

數據淘汰內部實現(xiàn)

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

Redis數據淘汰內部實現(xiàn).png

持久化方式

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

Redis持久化方式

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

啟動的部分過程圖解

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

啟動的部分過程

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

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

server端持久化的部分操作

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

初始化字典

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

初始化字典

新增字典元素圖解

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

新增字典元素圖解

Rehash執(zhí)行流程

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

Rehash執(zhí)行流程

緩存設計原則

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

Redis緩存設計原則.png

迎工作一到五年的Java工程師朋友們加入Java架構開發(fā):860113481

群內提供免費的Java架構學習資料(里面有高可用、高并發(fā)、高性能及分布式、Jvm性能調優(yōu)、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!

Redis與Memcached比較

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

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

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

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

廣告

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

綿陽服務器托管
营口市| 潢川县| 平定县| 科技| 赤峰市| 岑巩县| 沙雅县| 麻江县| 英超| 仪征市| 定远县| 平江县| 余庆县| 芦山县| 大渡口区| 彩票| 呼图壁县| 滕州市| 郎溪县| 沁水县| 台南县| 武威市| 微山县| 宁晋县| 许昌县| 昌平区| 龙泉市| 韩城市| 阿拉善盟| 玉树县| 平阳县| 陆良县| 普兰店市| 类乌齐县| 惠来县| 安平县| 依兰县| 治多县| 东安县| 临澧县| 景洪市|