国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

分布式內(nèi)存緩存系統(tǒng)設(shè)計(jì)

red_bricks / 3283人閱讀

摘要:客戶端緩存代理緩存實(shí)例內(nèi)存總量限制緩存安全機(jī)制實(shí)例都會開啟功能實(shí)例都監(jiān)聽在內(nèi)網(wǎng)核心流程新增節(jié)點(diǎn)刪除節(jié)點(diǎn)緩存緩存參考資源一致性原理一致性實(shí)現(xiàn)通訊協(xié)議規(guī)范

1.問題

任何平臺隨著用戶規(guī)模的擴(kuò)大、功能不斷的添加,持久化數(shù)據(jù)庫層承受的讀寫壓力會越來越大,一旦數(shù)據(jù)庫承壓過大會導(dǎo)致讀寫性能陡然下降,嚴(yán)重時(shí)會導(dǎo)致大量的業(yè)務(wù)請求超時(shí),進(jìn)而發(fā)生“雪崩”引發(fā)嚴(yán)重的故障。

2.解決方案

在業(yè)務(wù)層和數(shù)據(jù)庫持久層之間引入一層內(nèi)存緩存層,對于復(fù)雜且業(yè)務(wù)邏輯上不會變化的查詢結(jié)果進(jìn)行緩存,業(yè)務(wù)請求再次發(fā)起時(shí),每次都先從緩存層中查詢,從而大大減少對數(shù)據(jù)庫的查詢,減小對數(shù)據(jù)庫的壓力。

3.分布式內(nèi)存緩存、本地單點(diǎn)緩存、應(yīng)用層緩存對比
類型 穩(wěn)定性 擴(kuò)展性 通用性 對代碼的侵入性
應(yīng)用層緩存 應(yīng)用會頻繁重啟更新,緩存易丟失,穩(wěn)定性不佳 差,受限于進(jìn)程的資源限制 差,不同應(yīng)用難以復(fù)用 代碼侵入性小,無網(wǎng)絡(luò)操作,只需要操作應(yīng)用進(jìn)程內(nèi)存
本地單點(diǎn)緩存 獨(dú)立的緩存應(yīng)用(redis、memcached等),不會頻繁重啟,穩(wěn)定性一般,但有單點(diǎn)故障問題 一般,受限于單服務(wù)器資源限制 一般,業(yè)務(wù)應(yīng)用和緩存應(yīng)用有強(qiáng)耦合 代碼侵入性一般,需要引入對應(yīng)的api通常有網(wǎng)絡(luò)操作
分布式內(nèi)存緩存 分布式系統(tǒng),具備故障恢復(fù)功能,無單點(diǎn)故障問題,穩(wěn)健性佳 好,支持水平擴(kuò)展 好,對業(yè)務(wù)層提供通用接口,后端具體的緩存應(yīng)用對業(yè)務(wù)透明 代碼侵入性一般,需要引入通用的api通常有網(wǎng)絡(luò)操作
4.分布式內(nèi)存緩存系統(tǒng)設(shè)計(jì) 4.1總體架構(gòu)圖

4.2自定義的客戶端協(xié)議

業(yè)務(wù)模塊采用自定義應(yīng)用層協(xié)議和cacheProxy交互

整個(gè)cache后端采用什么協(xié)議,什么存儲(redis,memcached等)對業(yè)務(wù)模塊透明

cache后端和業(yè)務(wù)端進(jìn)行了隔離,修改互不影響

4.3負(fù)載均衡與容錯(cuò)機(jī)制

采用一致性hash算法,即使部分節(jié)點(diǎn)down機(jī),也不會導(dǎo)致全部的緩存失效,新增節(jié)點(diǎn)也不會導(dǎo)致大量緩存失效和重建

一份緩存數(shù)據(jù)保留兩份,當(dāng)前hash節(jié)點(diǎn)和下一個(gè)真實(shí)的hash節(jié)點(diǎn)(超時(shí)時(shí)間只有設(shè)置的超時(shí)時(shí)間的一半),單個(gè)節(jié)點(diǎn)down機(jī)時(shí),緩存也不會馬上失效

cacheMan是一個(gè)弱的管理節(jié)點(diǎn),負(fù)責(zé)監(jiān)控,刪除節(jié)點(diǎn),新增節(jié)點(diǎn),可以任意啟停

4.4緩存維護(hù)與淘汰機(jī)制

redis原生超時(shí)機(jī)制+三層LRU緩存架構(gòu),減少最終穿透到redis實(shí)例上的請求。

客戶端LRU緩存

cacheProxy代理LRU緩存

redis實(shí)例內(nèi)存總量限制+LRU緩存

4.5安全機(jī)制

redis實(shí)例都會開啟auth功能

redis實(shí)例都監(jiān)聽在內(nèi)網(wǎng)ip

4.6核心流程

新增redis節(jié)點(diǎn)

刪除redis節(jié)點(diǎn)

set緩存

get緩存

5.參考資源

一致性hash原理:http://blog.codinglabs.org/ar...

一致性hash實(shí)現(xiàn):https://github.com/pzx6019171...

redis通訊協(xié)議規(guī)范:http://www.redis.cn/topics/pr...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/61834.html

相關(guān)文章

  • 布式內(nèi)存緩存系統(tǒng)設(shè)計(jì)

    摘要:客戶端緩存代理緩存實(shí)例內(nèi)存總量限制緩存安全機(jī)制實(shí)例都會開啟功能實(shí)例都監(jiān)聽在內(nèi)網(wǎng)核心流程新增節(jié)點(diǎn)刪除節(jié)點(diǎn)緩存緩存參考資源一致性原理一致性實(shí)現(xiàn)通訊協(xié)議規(guī)范 1.問題 任何平臺隨著用戶規(guī)模的擴(kuò)大、功能不斷的添加,持久化數(shù)據(jù)庫層承受的讀寫壓力會越來越大,一旦數(shù)據(jù)庫承壓過大會導(dǎo)致讀寫性能陡然下降,嚴(yán)重時(shí)會導(dǎo)致大量的業(yè)務(wù)請求超時(shí),進(jìn)而發(fā)生雪崩引發(fā)嚴(yán)重的故障。 2.解決方案 在業(yè)務(wù)層和數(shù)據(jù)庫持久層之...

    gitmilk 評論0 收藏0
  • [讀書筆記]大型布式網(wǎng)站架構(gòu)設(shè)計(jì)與實(shí)踐.布式緩存

    摘要:接下來將介紹分布式緩存的典型代表,以及分布式緩存的應(yīng)用場景。的分布式實(shí)現(xiàn)本身并不是一種分布式的緩存系統(tǒng),它的分布式是由訪問它的客戶端來實(shí)現(xiàn)的。 前言:本書是對分布式系統(tǒng)架構(gòu)涉及到的相關(guān)技術(shù)的一本科普書籍。由于很難作為開發(fā)參考,只能但求了解。所以通篇淺讀,對分布式系統(tǒng)進(jìn)行大致的了解。因?yàn)閷懙姆浅:茫杏X非常有意思,自己也做不出總結(jié)。所謂的讀書筆記也就演變成了摘抄。 簡介 一個(gè)大型、穩(wěn)健、...

    pepperwang 評論0 收藏0
  • 馬蜂窩推薦系統(tǒng)容災(zāi)緩存服務(wù)的設(shè)計(jì)與實(shí)現(xiàn)

    摘要:馬蜂窩推薦系統(tǒng)對于請求的平均處理時(shí)延要求在級別,時(shí)延的線保持在以內(nèi)。任務(wù)隊(duì)列與異步寫入這里我們使用了中的線程池來實(shí)現(xiàn)。三優(yōu)化方向基于和,我們在現(xiàn)有的推薦系統(tǒng)中增加了一個(gè)本地容災(zāi)緩存系統(tǒng),當(dāng)依賴服務(wù)或者應(yīng)用本身突發(fā)異常時(shí)可以返回緩存的數(shù)據(jù)。 數(shù)據(jù)庫突然斷開連接、第三方接口遲遲不返回結(jié)果、高峰期網(wǎng)絡(luò)發(fā)生抖動...... 當(dāng)程序突發(fā)異常時(shí),我們的應(yīng)用可以告訴調(diào)用方或者用戶「對不起,服務(wù)器出了...

    Dean 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<