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