国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

分布式緩存管理技術(shù)的研究與實現(xiàn)

2018-05-14 11:09李映
科學與技術(shù) 2018年18期

李映

摘要:本文對基于Redis的分布式緩存技術(shù)進行了詳細分析,并闡述了基于Redis的分布式緩存管理技術(shù)CacheManager。CacheManager實現(xiàn)了分布式緩存的自動接入部署、彈性伸縮擴容與全面監(jiān)控等各項管理運維功能,有效地提升了系統(tǒng)運維人員的維護效率,加強了分布式緩存的可用性與穩(wěn)定性。

關(guān)鍵詞:分布式系統(tǒng);高并發(fā);Redis;緩存集群

一、引言

隨著電子商務在移動互聯(lián)網(wǎng)時代的迅速發(fā)展,各種的秒殺類、分享類、團購類等熱度高、并發(fā)量大的營銷活動對電子商務后臺支撐系統(tǒng)的緩存集群也帶來了極大壓力,緩存集群往往因為運營人員缺乏有效的監(jiān)控和管理,在用戶流量高峰下容易出現(xiàn)宕機,從而導致整個支撐系統(tǒng)全面癱瘓。

二、Redis分布式緩存與管理技術(shù)

Redis是一個開源的使用ANSIC語言編寫、支持網(wǎng)絡、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,其提供多種語言的API,因為其出眾的性能在眾多的移動互聯(lián)網(wǎng)企業(yè)后臺支撐系統(tǒng)中被應用于構(gòu)建系統(tǒng)的緩存模塊。

(一)Redis分布式緩存

Redis 集群是一個分布式、容錯的 Redis 實現(xiàn),Redis 集群中不存在中心節(jié)點或者代理節(jié)點,集群的主要設(shè)計目標是達到線性可擴展性,下面是Redis緩存集群的幾種配置方式。

1.主從模式(master/slaver)

主從模式的一個作用是備份數(shù)據(jù),當一個緩存節(jié)點損壞(指不可恢復的硬件損壞)時,數(shù)據(jù)因為有備份,可以方便恢復。另一個作用是負載均衡,查詢操作就可以通過查詢從節(jié)點來完成。主從模式的缺點是master節(jié)點宕機以后,剩下的slave不能成為master,Redis緩存就不能對外提供寫服務了。

2.哨兵模式(Sentinel)

在主從模式中,當master節(jié)點宕機以后,slave節(jié)點不能主動選舉一個master節(jié)點出來,Sentinel模式就安排一個或多個哨兵(sentinel)來監(jiān)控此類情況,當哨兵發(fā)現(xiàn)master節(jié)點宕機后就會從slave中重新選舉一個master。Sentinel模式基本可以滿足一般生產(chǎn)的需求,具備高可用性。但是當數(shù)據(jù)量過大到一臺服務器存放不下的情況時,Sentinel模式就不能滿足需求了。

3.集束模式(Cluster)

Cluster模式的出現(xiàn)是為了解決單機Redis緩存容量有限的問題,將Redis的數(shù)據(jù)根據(jù)一定的規(guī)則分配到多臺機器。Cluster模式是Sentinel模式和主從模式的組合方案,通過Cluster可以實現(xiàn)主從和master重選功能,因為Redis的數(shù)據(jù)是根據(jù)一定規(guī)則分配到不同機器的,當數(shù)據(jù)量過大時可以新增機器進行擴容,所以Cluster模式適合數(shù)據(jù)量巨大的場景。

(二)基于Redis的分布式緩存管理技術(shù)(CacheManager)

本文研究的Redis分布式緩存管理技術(shù)CacheManager實現(xiàn)了從各個緩存節(jié)點申請接入到最終部署上線以及整個緩存集群監(jiān)控、自動彈性擴容的全方位功能。

CacheManager主要可分為緩存管理模塊與緩存監(jiān)控模塊兩大部分:

1.分布式緩存管理

分布式緩存管理技術(shù)支持對Redis緩存集群Sentinel和Cluster模式的管理。

(1)自動接入部署

如果新的緩存服務器需納入CacheManager的管理范圍,運維人員可通過CacheManager的管理界面操作向管理服務發(fā)送緩存申請,申請內(nèi)容包含需節(jié)點部署的緩存服務器地址、緩存內(nèi)存大小、集群模式等信息。管理服務會與申請服務器進行通信并收集相關(guān)資源信息,如果符合管理規(guī)范,則自動對緩存服務器進行部署并納入管理范圍。

(2)統(tǒng)一配置管理

運維管理人員可以通過CacheManager的管理界面對緩存集群進行統(tǒng)一的配置管理,比如運維人員可通過界面化的操作對集群中的緩存應用實例進行結(jié)構(gòu)調(diào)整,對集群中的實例和節(jié)點的動態(tài)上下線處理、數(shù)據(jù)遷移、節(jié)點調(diào)整等操作。

(3)彈性自動擴容

CacheManager支持運維人員提前根據(jù)系統(tǒng)的資源配置(集群的機器數(shù)量、硬件配置條件、Redis集群類型等)結(jié)合并發(fā)需求制定緩存集群的擴容策略。擴容策略在CacheManager被設(shè)置好后即自動生效,一旦緩存集群出現(xiàn)資源不足的情況,將根據(jù)設(shè)定策略自動彈性擴容。運維人員也可以實時介入,調(diào)整擴容策略并且一鍵設(shè)置生效。

CacheManager針對Redis緩存集群的擴容策略主要有垂直伸縮擴容與水平伸縮擴容兩種。

● 垂直伸縮擴容策略

此類策擴容略的實現(xiàn)原理是通過調(diào)整每個Redis緩存實例的可用內(nèi)存量做到垂直拓展。這種策略優(yōu)點是適用于所有類型的Redis集群,缺點是受限于Redis緩存所在服務器的物理內(nèi)存資源大小。

● 水平伸縮擴容策略

CacheManager僅支持Sentinel和Cluster兩種Redis緩存集群的水平伸縮擴容策略。

針對Sentinel類型的緩存集群,當服務器物理內(nèi)存不夠用或者運維人員在切換故障機器時,CacheManager通過進行在線切換主從關(guān)系和實例所屬機器實現(xiàn)擴容。

針對Cluster類型的緩存集群,CacheManager平臺通過進行動態(tài)加減緩存實例并在線遷移數(shù)據(jù)來實現(xiàn)伸縮擴容。此擴容方案的伸縮性最靈活,但是因為數(shù)據(jù)遷移需要重新分區(qū),并導入到目標節(jié)點中,計算耗時比較長,擴容的速度最慢。

2.分布式緩存監(jiān)控

CacheManager的緩存集群監(jiān)控模塊按照監(jiān)控對象的不同可以分成四部分:

(1)緩存服務器監(jiān)控

緩存服務器的監(jiān)控是指定時統(tǒng)計各個緩存服務器的性能狀況,主要監(jiān)測指標是緩存服務器的內(nèi)存使用率,CPU使用率,網(wǎng)絡流量消耗消耗情況,服務器系統(tǒng)的負載情況等,監(jiān)控目的是確保緩存集群中的服務器本身運行良好。

(2)緩存實例監(jiān)控

緩存應用拓撲監(jiān)控是指以緩存集群中的各個緩存實例為監(jiān)測對象,實時查看各個緩存實例的運行狀態(tài),監(jiān)測范圍包含緩存實例運行的情況,內(nèi)存使用情況,當前對象數(shù),當前連接數(shù),緩存的命中率,角色關(guān)系等命中率,慢查詢數(shù),慢查詢的詳細信息等。

(3)緩存命令監(jiān)控

緩存命令監(jiān)控是指監(jiān)測集群中的各個單個緩存實例,統(tǒng)計各實例中各個命令的分布情況、執(zhí)行情況、以及命令執(zhí)行趨勢等信息。

(4)監(jiān)控預警

對以上三個監(jiān)控模塊監(jiān)測到的信息進行閾值告警,達到預警值采用短信等方式通知系統(tǒng)運維人員。告警閾值可實時進行設(shè)置,告警的信息點可以進行動態(tài)添加。

三、總結(jié)

針對Redis分布式緩存的管理技術(shù)CacheManager具備自動接入部署、彈性伸縮擴容與全面監(jiān)控管理等各項功能,大幅提升了運維人員的系統(tǒng)維護效率,有力加強了緩存集群與整個支撐系統(tǒng)的可用性與穩(wěn)定性。

參考文獻

[1]王劍冰. 一種高并發(fā)分布式緩存服務架構(gòu)[J]. 科學技術(shù)創(chuàng)新,2016(31):172-172.

[2]邱祝文. 基于redis的分布式緩存系統(tǒng)架構(gòu)研究[J]. 網(wǎng)絡安全技術(shù)與應用,2014(10).

[3]周智. Redis分布式緩存實現(xiàn)與解析[J]. 信息通信,2018,No.186(06):29-30.

[4]戚偉強. 分布式緩存模式研究及其在金融系統(tǒng)中的應用[D]. 浙江大學,2008.

[5]孫赫. 大規(guī)模協(xié)同計算平臺下緩存層的研究與優(yōu)化[D]. 西安電子科技大學,2015.

[6]徐朝輝,張?zhí)m英,劉現(xiàn)民. 分布式緩存系統(tǒng)[J]. 計算機系統(tǒng)應用.

(作者單位:中國移動通信集團江蘇有限公司)

五台县| 麻栗坡县| 南投市| 邮箱| 东兰县| 手游| 嘉禾县| 岢岚县| 民县| 武胜县| 兴安盟| 浦城县| 迭部县| 岢岚县| 翼城县| 塔河县| 永城市| 兴化市| 辽宁省| 横山县| 钟山县| 庆云县| 滁州市| 普兰店市| 苗栗县| 湖南省| 句容市| 吐鲁番市| 桃江县| 新民市| 东莞市| 崇礼县| 乐昌市| 万荣县| 望谟县| 盐池县| 班玛县| 安龙县| 晴隆县| 仙桃市| 建湖县|