分布式緩存服務(wù)Redis是什么
為什么選擇分布式緩存服務(wù)
即開即用
分布式緩存服務(wù)DCS提供單機(jī)、主備、Proxy集群、Cluster集群、讀寫分離類型的緩存實(shí)例,擁有從128M到1024G的豐富內(nèi)存規(guī)格。您可以通過控制臺直接創(chuàng)建,無需單獨(dú)準(zhǔn)備服務(wù)器資源。
其中Redis 4.0、Redis 5.0和Redis 6.0版本采用容器化部署,秒級完成創(chuàng)建。
安全可靠
借助華為云統(tǒng)一身份認(rèn)證、虛擬私有云、云監(jiān)控與云審計等安全管理服務(wù),全方位保護(hù)實(shí)例數(shù)據(jù)的存儲與訪問。
靈活的容災(zāi)策略,主備/集群實(shí)例從單AZ(可用區(qū))內(nèi)部署,到支持跨AZ部署。
彈性伸縮
分布式緩存服務(wù)DCS提供對實(shí)例內(nèi)存規(guī)格的在線擴(kuò)容與縮容服務(wù),幫助您實(shí)現(xiàn)基于實(shí)際業(yè)務(wù)量的成本控制,達(dá)到按需使用的目標(biāo)。
便捷管理
分布式緩存服務(wù)DCS可視化Web管理界面,在線完成實(shí)例重啟、參數(shù)修改、數(shù)據(jù)備份恢復(fù)等操作。分布式緩存服務(wù)DCS還提供基于RESTful的管理API,方便您進(jìn)一步實(shí)現(xiàn)實(shí)例自動化管理。
在線遷移
分布式緩存服務(wù)DCS提供可視化Web界面遷移功能,支持備份文件導(dǎo)入和在線遷移兩種方式,您可以通過控制臺直接創(chuàng)建遷移任務(wù),提高遷移效率。
分布式緩存服務(wù)Redis靈活實(shí)例配置
實(shí)例配置
|
說明
|
---|---|
實(shí)例類型 |
提供單機(jī)、主備、Proxy集群、Cluster集群、讀寫分離類型,分別適配不同的業(yè)務(wù)場景。 單機(jī):適用于應(yīng)用對可靠性要求不高、僅需要緩存臨時數(shù)據(jù)的業(yè)務(wù)場景。單機(jī)實(shí)例支持讀寫高并發(fā),但不做持久化,實(shí)例重啟后原有緩存數(shù)據(jù)不會加載。 主備:包含一個主節(jié)點(diǎn),一個或多個備節(jié)點(diǎn),主備節(jié)點(diǎn)的數(shù)據(jù)通過實(shí)時復(fù)制保持一致,當(dāng)主節(jié)點(diǎn)故障后,備節(jié)點(diǎn)自動升級為主節(jié)點(diǎn)。同時用戶可通過讀寫分離技術(shù),在主節(jié)點(diǎn)上寫,從備節(jié)點(diǎn)讀,從而提升緩存的整體讀寫性能。 Proxy集群:在Cluster集群的基礎(chǔ)上,增加掛載Proxy節(jié)點(diǎn)和ELB節(jié)點(diǎn),通過ELB節(jié)點(diǎn)實(shí)現(xiàn)負(fù)載均衡,將不同請求分發(fā)到Proxy節(jié)點(diǎn),實(shí)現(xiàn)客戶端高并發(fā)請求。每個Cluster集群分片是一個雙副本的主備實(shí)例,當(dāng)主節(jié)點(diǎn)故障后,同一分片中的備節(jié)點(diǎn)會升級為主節(jié)點(diǎn)來繼續(xù)提供服務(wù)。 Cluster集群:通過分片化分區(qū)來增加緩存的容量和并發(fā)連接數(shù),每個分片是一個主節(jié)點(diǎn)和0到多個備節(jié)點(diǎn),分片本身對外不可見。分片中主節(jié)點(diǎn)故障后,同一分片中備節(jié)點(diǎn)會升級為主節(jié)點(diǎn)來繼續(xù)提供服務(wù)。用戶可通過讀寫分離技術(shù),在主節(jié)點(diǎn)上寫,從備節(jié)點(diǎn)讀,從而提升緩存的整體讀寫能力。 讀寫分離:在主備實(shí)例的基礎(chǔ)上,增加掛載Proxy節(jié)點(diǎn)和ELB節(jié)點(diǎn),通過ELB節(jié)點(diǎn)實(shí)現(xiàn)負(fù)載均衡,將不同請求分發(fā)到Proxy節(jié)點(diǎn),Proxy節(jié)點(diǎn)識別用戶讀寫請求,將請求發(fā)送到主節(jié)點(diǎn)或備節(jié)點(diǎn),從而實(shí)現(xiàn)讀寫分離。 |
規(guī)格 |
分布式緩存服務(wù)Redis提供128MB~1024G的多種規(guī)格。 |
兼容開源Redis版本 |
分布式緩存服務(wù)提供不同的實(shí)例版本,分別兼容開源Redis的3.0、4.0、5.0、6.0。 |
底層架構(gòu) |
基于虛擬機(jī)的標(biāo)準(zhǔn)版,單節(jié)點(diǎn)QPS達(dá)10萬/秒。 |
高可用與容災(zāi) |
除單機(jī)實(shí)例外,其他類型的實(shí)例都提供Region內(nèi)的跨可用區(qū)部署,實(shí)現(xiàn)實(shí)例內(nèi)部節(jié)點(diǎn)間的電力、網(wǎng)絡(luò)層面物理隔離。 |
分布式緩存服務(wù)的基本概念
-
緩存實(shí)例
緩存實(shí)例擁有Redis、Memcached兩種存儲引擎,每種引擎有單機(jī)、主備、集群等不同實(shí)例類型。不同實(shí)例類型含有多種規(guī)格。
緩存實(shí)例擁有Redis、Memcached兩種存儲引擎,每種引擎有單機(jī)、主備、集群等不同實(shí)例類型。不同實(shí)例類型含有多種規(guī)格。
-
項(xiàng)目
項(xiàng)目(Project)用于將OpenStack的資源(計算資源、存儲資源和網(wǎng)絡(luò)資源)進(jìn)行分組和隔離。Project可以是一個部門或者一個項(xiàng)目組。一個帳戶中可以創(chuàng)建多個Project。
項(xiàng)目(Project)用于將OpenStack的資源(計算資源、存儲資源和網(wǎng)絡(luò)資源)進(jìn)行分組和隔離。Project可以是一個部門或者一個項(xiàng)目組。一個帳戶中可以創(chuàng)建多個Project。
-
公網(wǎng)訪問
針對Redis 3.0實(shí)例,可以為其綁定一個彈性公網(wǎng)IP地址,客戶端通過公網(wǎng)ip進(jìn)行訪問。Redis 4.0、Redis 5.0和Redis 6.0實(shí)例暫時不支持公網(wǎng)訪問功能。
公網(wǎng)訪問使用Stunnel工具對通信內(nèi)容加密,網(wǎng)絡(luò)延時比VPC內(nèi)通信略高,適用于開發(fā)階段聯(lián)調(diào)本地環(huán)境測試。
針對Redis 3.0實(shí)例,可以為其綁定一個彈性公網(wǎng)IP地址,客戶端通過公網(wǎng)ip進(jìn)行訪問。Redis 4.0、Redis 5.0和Redis 6.0實(shí)例暫時不支持公網(wǎng)訪問功能。
公網(wǎng)訪問使用Stunnel工具對通信內(nèi)容加密,網(wǎng)絡(luò)延時比VPC內(nèi)通信略高,適用于開發(fā)階段聯(lián)調(diào)本地環(huán)境測試。
-
免密訪問
分布式緩存服務(wù)有Redis和Memcached兩種引擎,可以不設(shè)置密碼,在VPC內(nèi)直接連接實(shí)例進(jìn)行數(shù)據(jù)讀寫。由于不涉及密碼鑒權(quán),數(shù)據(jù)讀寫延時會更低。
對于實(shí)例數(shù)據(jù)敏感性一般的業(yè)務(wù),您可以對實(shí)例開啟免密訪問。出于數(shù)據(jù)安全考慮,開通公網(wǎng)訪問的實(shí)例不允許同時開啟免密訪問。
分布式緩存服務(wù)有Redis和Memcached兩種引擎,可以不設(shè)置密碼,在VPC內(nèi)直接連接實(shí)例進(jìn)行數(shù)據(jù)讀寫。由于不涉及密碼鑒權(quán),數(shù)據(jù)讀寫延時會更低。
對于實(shí)例數(shù)據(jù)敏感性一般的業(yè)務(wù),您可以對實(shí)例開啟免密訪問。出于數(shù)據(jù)安全考慮,開通公網(wǎng)訪問的實(shí)例不允許同時開啟免密訪問。
-
維護(hù)時間窗
指允許分布式緩存服務(wù)DCS產(chǎn)品服務(wù)團(tuán)隊為實(shí)例進(jìn)行升級維護(hù)的時間段。
分布式緩存服務(wù)DCS對實(shí)例升級維護(hù)頻率較低,一般每季度一次。雖然頻率低,且升級過程不會影響業(yè)務(wù),但建議您選擇業(yè)務(wù)量較少的時間段作為維護(hù)時間窗。
在創(chuàng)建實(shí)例時,都會要求設(shè)置一個維護(hù)時間窗,您也可以在實(shí)例創(chuàng)建后,對維護(hù)時間窗進(jìn)行修改。
指允許分布式緩存服務(wù)DCS產(chǎn)品服務(wù)團(tuán)隊為實(shí)例進(jìn)行升級維護(hù)的時間段。
分布式緩存服務(wù)DCS對實(shí)例升級維護(hù)頻率較低,一般每季度一次。雖然頻率低,且升級過程不會影響業(yè)務(wù),但建議您選擇業(yè)務(wù)量較少的時間段作為維護(hù)時間窗。
在創(chuàng)建實(shí)例時,都會要求設(shè)置一個維護(hù)時間窗,您也可以在實(shí)例創(chuàng)建后,對維護(hù)時間窗進(jìn)行修改。
-
分片
分片也叫條帶,指Redis集群的一個管理組,對應(yīng)一個redis-server進(jìn)程。一個Redis集群由若干條帶組成,每個條帶負(fù)責(zé)若干個slot(槽),數(shù)據(jù)分布式存儲在slot中。Redis集群通過條帶化分區(qū),實(shí)現(xiàn)超大容量存儲以及并發(fā)連接數(shù)提升。
每個集群實(shí)例由多個分片組成,每個分片默認(rèn)為一個雙副本的主備實(shí)例。分片數(shù)等于實(shí)例中主節(jié)點(diǎn)的個數(shù)。
分片也叫條帶,指Redis集群的一個管理組,對應(yīng)一個redis-server進(jìn)程。一個Redis集群由若干條帶組成,每個條帶負(fù)責(zé)若干個slot(槽),數(shù)據(jù)分布式存儲在slot中。Redis集群通過條帶化分區(qū),實(shí)現(xiàn)超大容量存儲以及并發(fā)連接數(shù)提升。
每個集群實(shí)例由多個分片組成,每個分片默認(rèn)為一個雙副本的主備實(shí)例。分片數(shù)等于實(shí)例中主節(jié)點(diǎn)的個數(shù)。
-
跨可用區(qū)部署
將主備實(shí)例部署在不同的AZ(可用區(qū)域)內(nèi),節(jié)點(diǎn)間電力與網(wǎng)絡(luò)均物理隔離。您可以將應(yīng)用程序也進(jìn)行跨AZ部署,從而達(dá)到數(shù)據(jù)與應(yīng)用全部高可用。
在創(chuàng)建Redis或者M(jìn)emcached主備實(shí)例時,可以勾選“跨可用區(qū)部署”,然后為備節(jié)點(diǎn)選擇可用區(qū)。
將主備實(shí)例部署在不同的AZ(可用區(qū)域)內(nèi),節(jié)點(diǎn)間電力與網(wǎng)絡(luò)均物理隔離。您可以將應(yīng)用程序也進(jìn)行跨AZ部署,從而達(dá)到數(shù)據(jù)與應(yīng)用全部高可用。
在創(chuàng)建Redis或者M(jìn)emcached主備實(shí)例時,可以勾選“跨可用區(qū)部署”,然后為備節(jié)點(diǎn)選擇可用區(qū)。
-
副本
副本指緩存實(shí)例的節(jié)點(diǎn)。單副本表示實(shí)例沒有備節(jié)點(diǎn),雙副本表示實(shí)例有備節(jié)點(diǎn)(一個主節(jié)點(diǎn),一個備節(jié)點(diǎn))。例如主備實(shí)例默認(rèn)為雙副本,當(dāng)主備實(shí)例的副本數(shù)設(shè)置為3時,表示該實(shí)例有1個主節(jié)點(diǎn),2個備節(jié)點(diǎn)。單機(jī)實(shí)例,只有一個節(jié)點(diǎn)。
副本指緩存實(shí)例的節(jié)點(diǎn)。單副本表示實(shí)例沒有備節(jié)點(diǎn),雙副本表示實(shí)例有備節(jié)點(diǎn)(一個主節(jié)點(diǎn),一個備節(jié)點(diǎn))。例如主備實(shí)例默認(rèn)為雙副本,當(dāng)主備實(shí)例的副本數(shù)設(shè)置為3時,表示該實(shí)例有1個主節(jié)點(diǎn),2個備節(jié)點(diǎn)。單機(jī)實(shí)例,只有一個節(jié)點(diǎn)。
分布式緩存服務(wù)Reids有哪些典型應(yīng)用場景
很多大型電商網(wǎng)站、視頻直播和游戲應(yīng)用等,存在大規(guī)模數(shù)據(jù)訪問,對數(shù)據(jù)查詢效率要求高,且數(shù)據(jù)結(jié)構(gòu)簡單,不涉及太多關(guān)聯(lián)查詢。這種場景使用分布式緩存服務(wù)Redis,在速度上對傳統(tǒng)磁盤數(shù)據(jù)庫有很大優(yōu)勢,能夠有效減少數(shù)據(jù)庫磁盤IO,提高數(shù)據(jù)查詢效率,減輕管理維護(hù)工作量,降低數(shù)據(jù)庫存儲成本。分布式緩存服務(wù)Redis對傳統(tǒng)磁盤數(shù)據(jù)庫是一個重要的補(bǔ)充,成為了互聯(lián)網(wǎng)應(yīng)用,尤其是支持高并發(fā)訪問的互聯(lián)網(wǎng)應(yīng)用必不可少的基礎(chǔ)服務(wù)之一。
(電商網(wǎng)站)秒殺搶購
電商網(wǎng)站的商品類目、推薦系統(tǒng)以及秒殺搶購活動,適宜使用分布式緩存服務(wù)Redis。
例如秒殺搶購活動,并發(fā)高,對于傳統(tǒng)關(guān)系型數(shù)據(jù)庫來說訪問壓力大,需要較高的硬件配置(如磁盤IO)支撐。Redis數(shù)據(jù)庫,單節(jié)點(diǎn)QPS支撐能達(dá)到10萬,輕松應(yīng)對秒殺并發(fā)。實(shí)現(xiàn)秒殺和數(shù)據(jù)加鎖的命令簡單,使用SET、GET、DEL、RPUSH等命令即可。
(視頻直播)消息彈幕
直播間的在線用戶列表,禮物排行榜,彈幕消息等信息,都適合使用Redis中的SortedSet結(jié)構(gòu)進(jìn)行存儲。
例如彈幕消息,可使用ZREVRANGEBYSCORE排序返回,在分布式緩存服務(wù)Redis 5.0中,新增了zpopmax,zpopmin命令,更加方便消息處理。
(游戲應(yīng)用)游戲排行榜
在線游戲一般涉及排行榜實(shí)時展現(xiàn),比如列出當(dāng)前得分最高的10個用戶。使用分布式緩存服務(wù)Redis的有序集合存儲用戶排行榜非常合適,有序集合使用非常簡單,提供多達(dá)20個操作集合的命令。
(社交APP)返回最新評論/回復(fù)
在web類應(yīng)用中,常有“最新評論”之類的查詢,如果使用關(guān)系型數(shù)據(jù)庫,往往涉及到按評論時間逆排序,隨著評論越來越多,排序效率越來越低,且并發(fā)頻繁。
使用分布式緩存服務(wù)Redis的List(鏈表),例如存儲最新1000條評論,當(dāng)請求的評論數(shù)在這個范圍,就不需要訪問磁盤數(shù)據(jù)庫,直接從緩存中返回,減少數(shù)據(jù)庫壓力的同時,提升APP的響應(yīng)速度。
分布式緩存服務(wù)教程視頻
分布式緩存服務(wù) DCS
04:53
分布式緩存服務(wù) DCS
03:40
分布式緩存服務(wù) DCS
02:27
1對1咨詢專屬顧問
華為云咨詢電話:950808或4000-955-988 轉(zhuǎn)1
華為云咨詢電話:950808或4000-955-988 轉(zhuǎn)1