分散式快取 - 概念解釋

BNMZY發表於2020-10-28

分散式文章

分散式架構演變

第一章

1. 正向代理&反向代理

正向代理: 客戶端知道真實請求的地址,但是直接訪問訪問不到(防火牆之類)。此時可以通過一個正向代理伺服器(代理伺服器可以直接訪問),先將請求傳送到代理服,代理服去目標伺服器請求資源再返回給客戶端。

在這裡插入圖片描述
正向代理用途:

(1)訪問原來無法訪問的資源,如google
(2) 可以走快取,加速訪問資源
(3) 對客戶端訪問授權,上網進行認證
(4) 代理可以記錄訪問記錄(上網行為管理),對外隱藏使用者資訊



反向代理: 對於客戶端來說,代理伺服器就是源伺服器,客戶端傳送請求後,由代理伺服器轉發到真實伺服器。客戶端並不知道真實伺服器的地址

在這裡插入圖片描述

反向代理用途:

  1. 保證內網的安全,阻止web攻擊,大型網站,通常將方向代理作為公網訪問地址,Web伺服器是內網
  2. 負載均衡,通過反向代理伺服器來優化網站的負載

 
小總結

  1. 正向代理,客戶端知道實際服務端,服務端只知道代理伺服器,不知道實際客戶端
  2. 反向代理,服務端知道客戶端,客戶端只知道代理伺服器,不知道實際服務端

2. CDN

CDN本質上是將媒體資源,動靜態圖片(Flash),HTML,CSS,JS等等內容快取到離你更近的IDC(網際網路資料中心Internet Data Center),從而讓使用者共享資源,實現縮減站點間的相應時間等等需求

 
CDN基本思路就是儘可能避開網際網路上有可能影響資料傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網路各處放置節點伺服器所構成的在現有的網際網路基礎之上的一層智慧虛擬網路,CDN系統能夠實時地根據網路流量和各節點的連線、負載狀況以及到使用者的距離和響應時間等綜合資訊將使用者的請求重新導向離使用者最近的服務節點上

3. 一致性Hash

一致性Hash,redis-slot

為了在加入/減少節點時候減少資料的遷移

4. LRU && LFU

主流的快取演算法,兩種演算法都有延伸演算法

 
LRU: 替換掉最近被請求次數最少的物件
LFU: 替換掉訪問次數最少的快取

詳細見:

相關文章