摘要:客戶端緩存代理緩存實例內存總量限制緩存安全機制實例都會開啟功能實例都監聽在內網核心流程新增節點刪除節點緩存緩存參考資源一致性原理一致性實現通訊協議規范
1.問題
任何平臺隨著用戶規模的擴大、功能不斷的添加,持久化數據庫層承受的讀寫壓力會越來越大,一旦數據庫承壓過大會導致讀寫性能陡然下降,嚴重時會導致大量的業務請求超時,進而發生“雪崩”引發嚴重的故障。
2.解決方案在業務層和數據庫持久層之間引入一層內存緩存層,對于復雜且業務邏輯上不會變化的查詢結果進行緩存,業務請求再次發起時,每次都先從緩存層中查詢,從而大大減少對數據庫的查詢,減小對數據庫的壓力。
3.分布式內存緩存、本地單點緩存、應用層緩存對比類型 | 穩定性 | 擴展性 | 通用性 | 對代碼的侵入性 |
---|---|---|---|---|
應用層緩存 | 應用會頻繁重啟更新,緩存易丟失,穩定性不佳 | 差,受限于進程的資源限制 | 差,不同應用難以復用 | 代碼侵入性小,無網絡操作,只需要操作應用進程內存 |
本地單點緩存 | 獨立的緩存應用(redis、memcached等),不會頻繁重啟,穩定性一般,但有單點故障問題 | 一般,受限于單服務器資源限制 | 一般,業務應用和緩存應用有強耦合 | 代碼侵入性一般,需要引入對應的api通常有網絡操作 |
分布式內存緩存 | 分布式系統,具備故障恢復功能,無單點故障問題,穩健性佳 | 好,支持水平擴展 | 好,對業務層提供通用接口,后端具體的緩存應用對業務透明 | 代碼侵入性一般,需要引入通用的api通常有網絡操作 |
業務模塊采用自定義應用層協議和cacheProxy交互
整個cache后端采用什么協議,什么存儲(redis,memcached等)對業務模塊透明
cache后端和業務端進行了隔離,修改互不影響
4.3負載均衡與容錯機制采用一致性hash算法,即使部分節點down機,也不會導致全部的緩存失效,新增節點也不會導致大量緩存失效和重建
一份緩存數據保留兩份,當前hash節點和下一個真實的hash節點(超時時間只有設置的超時時間的一半),單個節點down機時,緩存也不會馬上失效
cacheMan是一個弱的管理節點,負責監控,刪除節點,新增節點,可以任意啟停
4.4緩存維護與淘汰機制redis原生超時機制+三層LRU緩存架構,減少最終穿透到redis實例上的請求。
客戶端LRU緩存
cacheProxy代理LRU緩存
redis實例內存總量限制+LRU緩存
4.5安全機制redis實例都會開啟auth功能
redis實例都監聽在內網ip
4.6核心流程新增redis節點
刪除redis節點
set緩存
get緩存
一致性hash原理:http://blog.codinglabs.org/ar...
一致性hash實現:https://github.com/pzx6019171...
redis通訊協議規范:http://www.redis.cn/topics/pr...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/61695.html
摘要:客戶端緩存代理緩存實例內存總量限制緩存安全機制實例都會開啟功能實例都監聽在內網核心流程新增節點刪除節點緩存緩存參考資源一致性原理一致性實現通訊協議規范 1.問題 任何平臺隨著用戶規模的擴大、功能不斷的添加,持久化數據庫層承受的讀寫壓力會越來越大,一旦數據庫承壓過大會導致讀寫性能陡然下降,嚴重時會導致大量的業務請求超時,進而發生雪崩引發嚴重的故障。 2.解決方案 在業務層和數據庫持久層之...
摘要:接下來將介紹分布式緩存的典型代表,以及分布式緩存的應用場景。的分布式實現本身并不是一種分布式的緩存系統,它的分布式是由訪問它的客戶端來實現的。 前言:本書是對分布式系統架構涉及到的相關技術的一本科普書籍。由于很難作為開發參考,只能但求了解。所以通篇淺讀,對分布式系統進行大致的了解。因為寫的非常好,感覺非常有意思,自己也做不出總結。所謂的讀書筆記也就演變成了摘抄。 簡介 一個大型、穩健、...
摘要:馬蜂窩推薦系統對于請求的平均處理時延要求在級別,時延的線保持在以內。任務隊列與異步寫入這里我們使用了中的線程池來實現。三優化方向基于和,我們在現有的推薦系統中增加了一個本地容災緩存系統,當依賴服務或者應用本身突發異常時可以返回緩存的數據。 數據庫突然斷開連接、第三方接口遲遲不返回結果、高峰期網絡發生抖動...... 當程序突發異常時,我們的應用可以告訴調用方或者用戶「對不起,服務器出了...
閱讀 2020·2021-10-09 09:41
閱讀 1596·2021-09-28 09:36
閱讀 1100·2021-09-26 09:55
閱讀 1285·2021-09-10 11:17
閱讀 1140·2021-09-02 09:56
閱讀 2755·2019-08-30 12:58
閱讀 2927·2019-08-29 13:03
閱讀 1847·2019-08-26 13:40