1. 程式人生 > >大數據學習總結記錄—分布式緩存-Memacache(1)

大數據學習總結記錄—分布式緩存-Memacache(1)

可用 ges rst 沒有 key-value 應用服務器 nginx 圖像 缺點

傳統LAMP

技術分享圖片

傳統架構LAMP

linux + Apache(nginx) + Mysql + PHP

高可用,高並發,高性能

傳統架構過程分析

一個請求到來首先經過nginx反向代理服務器,通過nginx的負載均衡平衡的匹配到應用服務器上,應用服務器通過計算去訪問數據庫服務獲得數據。

傳統架構存在的問題

1.首先應用服務器應該是無狀態的,我們把可以能夠維護用戶狀態的服務器稱之為服務器有狀態,如果存在狀態,那麽出現單點故障之後,會導致其他應用服務器是無法處理請求的。如何讓應用服務器變成無狀態的,服務器不存儲用戶狀態,構建一個龐大的Session池

(1)Session session 基於redis存儲Sessionid優缺點 優點:基於內存,服務器無狀態session完全托管給redis 缺點得需要網絡通信,redis存儲session是無法創建集群的。

(2)Cookie 本地存儲jssionid 好處無論服務器那臺出現狀態都沒有問題,信息存在Cookie 弊端1.本地存儲用戶數據不安全2.如果用戶禁止Cookie那麽則沒有有辦法存儲

session 池可以用Memacacher 也可以用redis做session管理

2.應用服務器訪問數據持久層

數據庫服務三兩大類

(1)關系型數據庫 mysql oracle 等

(2)NoSql mongoDB 基於文檔存儲 redis 基於key-value存儲 基於列 基於圖像存儲

(3)newSQL 介於關系型數據庫 和 NoSql之間

應用服務器訪問數據服務提高效率可以用緩存池也可以創建索引庫

索引庫的特點:犧牲空間換取效率

緩存池的讀的特點:

降低穿透率,提高命中率 降低穿透率提高命中率指的是盡量減低應用服務器訪問數據服務,盡量去訪問緩存池,提高對緩存池的命中,降低對數據訪問的穿透,盡量讓數據服務保持靜默

緩存池的寫的特點:

使用緩沖隊列進行寫操作,把寫的操作做成異步的,不需要用戶等待信息寫入到數據庫,只要求用戶等寫操作到達緩存池即可

隊列的特點:first in first out 先進先出

大數據學習總結記錄—分布式緩存-Memacache(1)