分布式緩存技術
『壹』 分布式緩存的作用
分布式緩存主要用於在高並發環境下,減輕資料庫的壓力,提高系統的響應速度和並發吞吐。當大量的讀、寫請求湧向資料庫時,磁碟的處理速度與內存顯然不在一個量級,因此,在資料庫之前加一層緩存,能夠顯著提高系統的響應速度,並降低資料庫的壓力。作為傳統的關系型資料庫,Mysql提供完整的ACID操作,支持豐富的數據類型、強大的關聯查詢、where語句等,能夠非常客易地建立查詢索引,執行復雜的內連接、外連接、求和、排序、分組等操作,並且支持存儲過程、函數等功能,產品成熟度高,功能強大。但是,對於需要應對高並發訪問並且存儲海量數據的場景來說,出於對性能的考慮,不得不放棄很多傳統關系型資料庫原本強大的功能,犧牲了系統的易用性,並且使得系統的設計和管理變得更為復雜。這也使得在過去幾年中,流行著另一種新的存儲解決方案——NoSQL,它與傳統的關系型資料庫最大的差別在於,它不使用SQL作為查詢語言來查找數據,而採用key-value形式進行查找,提供了更高的查詢效率及吞吐,並且能夠更加方便地進行擴展,存儲海量數據,在數千個節點上進行分區,自動進行數據的復制和備份。在分布式系統中,消息作為應用間通信的一種方式,得到了十分廣泛的應用。消息可以被保存在隊列中,直到被接收者取出,由於消息發送者不需要同步等待消息接收者的響應,消息的非同步接收降低了系統集成的耦合度,提升了分布式系統協作的效率,使得系統能夠更快地響應用戶,提供更高的吞吐。
當系統處於峰值壓力時,分布式消息隊列還能夠作為緩沖,削峰填谷,緩解集群的壓力,避免整個系統被壓垮。垂直化的搜索引擎在分布式系統中是一個非常重要的角色,它既能夠滿足用戶對於全文檢索、模糊匹配的需求,解決資料庫like查詢效率低下的問題,又能夠解決分布式環境下,由於採用分庫分表,或者使用NoSQL資料庫,導致無法進行多表關聯或者進行復雜查詢的問題。
『貳』 什麼是分布式緩存框架以及分布式緩存框架的
innodb_data_home_dir = /longxibendi/mysql/mysql/var/
#innodb_data_file_path = ibdata1:1G:autoextend
innodb_data_file_path = ibdata1:500M;ibdata2:2210M:autoextend #表空間
innodb_file_io_threads = 4 #io線程數
『叄』 java目前比較常用的緩存有哪些 集中式緩存與分布式緩存有何區別 它們應用場景是
java目前常用的緩存:
Generic
JCache (JSR-107) (EhCache 3, Hazelcast, Infinispan, etc)
EhCache 2.x
Hazelcast
Infinispan
Couchbase
Redis
Caffeine
Guava (deprecated)
Simple
建議使用spring boot集成方式,可插拔,簡單。
集中式緩存適用場景:
1、伺服器集群部署。
2、數據高一致性(任何數據變化都能及時的被查詢到)
分布式緩存適用場景:
系統需要緩存的數據量大
對數據的可用性較高的情況
需要橫向擴展,從而達到緩存的容量無限的要求
『肆』 什麼是分布式緩存
分布式緩存能夠處理大量的動態數據,因此比較適合應用在Web 2.0時代中的社交網站等需要由用戶生成內容的場景。從本地緩存擴展到分布式緩存後,關注重點從CPU、內存、緩存之間的數據傳輸速度差異也擴展到了業務系統、資料庫、分布式緩存之間的數據傳輸速度差異。
常用的分布式緩存包括Redis和Memcached。
Memcached
Memcached是一個高性能的分布式內存對象緩存系統,用於動態Web應用以減輕資料庫負載。Memcached通過在內存中緩存數據和對象來減少讀取資料庫的次數,從而提高動態、資料庫驅動網站的速度。
特點:哈希方式存儲;全內存操作;簡單文本協議進行數據通信;只操作字元型數據;集群由應用進行控制,採用一致性哈希演算法。
限制性:數據保存在內存當中的,一旦機器重啟,數據會全部丟失;只能操作字元型數據,數據類型貧乏;以root許可權運行,而且Memcached本身沒有任何許可權管理和認證功能,安全性不足;能存儲的數據長度有限,最大鍵長250個字元,儲存數據不能超過1M。
Redis
Redis是一個開源的使用ANSI C語言編寫、支持網路、可基於內存亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。
特點:
Redis支持的數據類型包括:字元串、string、hash、set、sortedset、list;Redis實現持久化的方式:定期將內存快照寫入磁碟;寫日誌;Redis支持主從同步。
限制性:單核運行,在存儲大數據的時候性能會有降低;不是全內存操作;主從復制是全量復制,對實際的系統運營造成了一定負擔。
『伍』 分布式緩存是什麼
分布式緩存使用CARP(Caching Array Routing Protocol)技術,可以產生一種高效率無接縫式的緩存,使用上讓多台緩存伺服器形同一台,並且不會造成數據重復存放的情況。
同時還有層次式緩存、動態緩存和計劃緩存三種。