分布式快取

2021-08-04 04:10:50 字數 1183 閱讀 5585

網際網路發展的同時,也引領者相關技術的發展與變革,比如集群、高併發、負載均衡、高可用、海量資料的處理、系統安全、分布式快取等各方面的相關技術。簡單談一下分布式快取技術。

2、三層架構

1、web層(表現層):主要對使用者資料接收,以及資料處理完成後返回,為客戶端提**用程式的訪問

2、應用層:對業務的處理

3、持久層:資料訪問層,即對資料的操作

表現層框架: struts2   springmvc

應用層:spring ioc

持久層:hibernate、mybatis

每一層都可以做快取。

快取:降低延遲,呈現速度更快

降低網路間的傳輸,降低使用者的寬頻使用

3、分布式快取

分布式快取是為了解決資料庫伺服器和web伺服器之間的瓶頸,如果乙個**的流量很大,這個瓶頸竟會非常明顯,每次資料庫查詢消耗的時間就不容樂觀,對於更新速度不是很快的**,我們可以用靜態化來避免過多的資料庫查詢,比如可以使用freemarker或者velocity來實現頁面靜態化。對於更新資料以秒級的**,靜態化也不會太理想,可以通過分布式快取來解決。比如redis、memcache、ssdb等。

分布式快取的出現,有以下原因

1、在網際網路或者電商應用系統中,業務需求複雜,必須對整個的業務系統進行垂直拆分,保證各個業務模組清晰並且對外提供服務。

2、使用者的群體廣泛,就必然存在高併發問題,如果將應用系統部署在單個節點伺服器上,勢必會對單個伺服器造成巨大的訪問壓力,因此我們需要將應用系統部署到不同的節點上,同時也要講不同的資料分散到不同的節點上。

3、網際網路時代,即大資料時代,資料為王。

在web開發中,經常要重複從資料庫中取出相同的資料,這種重複極大的增加了資料庫的負載,快取是解決這個問題的號辦法。redis就是乙個高效能的、分布式的記憶體物件快取系統,用於在動態應用中極少資料庫負載,提高訪問速度。

下圖是乙個簡單的分布式快取系統。在使用者第一次傳送請求時,從rdbms中獲取資料並返回,同時經資料儲存分布式快取系統中;當使用者再次傳送請求時直接從快取中獲取、提高性。同時我們這裡的redis做集群並且做主從策略,實現高可用框架。

分布式快取

分布式快取 原則來說跟應用伺服器分布式應該是一樣,但快取是有狀態的。怎麼樣提高命中?1.最原始的演算法 那就是key hash取模,取到伺服器ip。在大量伺服器伸縮行有問題,加入一台伺服器就有可能讓所有的快取都失效。如 key hash 後是100,取10膜是0,取11膜 1,101 取10膜是1,...

分布式快取

分布式快取 1 什麼是分布式快取?在高併發的環境下,大量的i o處理與cpu的處理速度顯然不在同乙個數量級,從減輕資料庫的壓力和提高系統的響應速度兩個角度來考慮,因而都會在資料庫之前加一層快取。由於單機的記憶體資源和承載能力有限,因而可以採用多台伺服器來用作快取,使得多台快取伺服器形同一台,並且不會...

分布式快取

快取雪崩我們可以簡單的理解為 由於原有快取失效,新快取未到期間所有原本應該訪問快取的請求都去查詢資料庫了,而對資料庫 cpu 和記憶體造成巨大壓力,嚴重的會造成資料庫宕機。從而形成一系列連鎖反應,造成整個系統崩潰。一般有三種處理辦法 1.一般併發量不是特別多的時候,使用最多的解決方案是加鎖排隊。2....