新聞中心
Redis(Remote Dictionary Server)是一種對(duì)象存儲(chǔ),是NoSQL數(shù)據(jù)庫(kù)中最流行的分布式關(guān)鍵值存儲(chǔ)系統(tǒng)。它是一種使用它存儲(chǔ)數(shù)據(jù)的技術(shù),可以高效地將數(shù)據(jù)分發(fā)到全球范圍內(nèi)的集群中。

Redis架構(gòu)設(shè)計(jì)主要用于持久化保存和快速數(shù)據(jù)讀取,具有數(shù)據(jù)一致性、簡(jiǎn)單易用、可定制性、簡(jiǎn)單易復(fù)制、可縮放性等優(yōu)點(diǎn)。Redis的分布式架構(gòu)的范疇在很大程度上是獨(dú)立的,由于它不支持SQL-based查詢(xún),也不支持ACID專(zhuān)業(yè)術(shù)語(yǔ),并且沒(méi)有傳統(tǒng)的表和表結(jié)構(gòu),因此無(wú)法與關(guān)系型數(shù)據(jù)庫(kù)兼容。
Redis的分布式架構(gòu)采用分層模式,首先將數(shù)據(jù)分級(jí)分片,每一層可以控制足夠的鍵-值存儲(chǔ)空間以滿(mǎn)足用戶(hù)的需求,隨后當(dāng)存儲(chǔ)量超出一層容量上限時(shí),即添加新一層。Redis節(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)來(lái)彼此通信,并在短時(shí)間內(nèi)進(jìn)行數(shù)據(jù)復(fù)制,最后將數(shù)據(jù)返回給用戶(hù)。
根據(jù)業(yè)務(wù)需求,Redis架構(gòu)可定制,可以利用Sentinel、Sharding、Proxy等技術(shù)模塊,來(lái)提升系統(tǒng)的可用性、可靠性、安全性等特性。
例如,我們可以使用Sentinel實(shí)現(xiàn)可靠的故障轉(zhuǎn)移,以確保系統(tǒng)容錯(cuò)性:
sentinel monitor
sentinel down-after-milliseconds
sentinel parallel-syncs
sentinel flover-timeout
通過(guò)以上腳本,可以啟動(dòng)一個(gè)可以測(cè)試故障轉(zhuǎn)移的Sentinel實(shí)例,當(dāng)發(fā)生節(jié)點(diǎn)故障時(shí),Sentinel會(huì)將主節(jié)點(diǎn)進(jìn)行故障轉(zhuǎn)移,并在約定時(shí)間內(nèi)將新的主節(jié)點(diǎn)啟動(dòng)起來(lái)。
另外,如果要使用數(shù)據(jù)分片來(lái)實(shí)現(xiàn)數(shù)據(jù)的水平縮放,則可以使用Redis的Proxy模型,允許把多個(gè)Redis節(jié)點(diǎn)看作一個(gè)節(jié)點(diǎn):
proxy-server
該指令會(huì)把Redis的各種請(qǐng)求轉(zhuǎn)發(fā)到正確的節(jié)點(diǎn)上,實(shí)現(xiàn)不同數(shù)據(jù)集的分散處理。
通過(guò)對(duì)Redis架構(gòu)的分析和實(shí)踐,我們可以發(fā)現(xiàn),Redis架構(gòu)擁有優(yōu)秀的可定制特性,能夠高效分布式地存儲(chǔ)和管理數(shù)據(jù),具有良好的擴(kuò)展性和可縮放性。其中,Sentinel和Proxy模塊被廣泛使用,以實(shí)現(xiàn)極佳的容錯(cuò)性、可靠性和縮放性。Redis的分布式架構(gòu)將是新一代分布式軟件的可能選擇。
成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽(yáng)、重慶、貴陽(yáng)機(jī)房服務(wù)器托管租用。
標(biāo)題名稱(chēng):研究Redis架構(gòu)設(shè)計(jì)分析與實(shí)踐(分析redis架構(gòu)設(shè)計(jì))
標(biāo)題路徑:http://www.fisionsoft.com.cn/article/djhhgsc.html


咨詢(xún)
建站咨詢(xún)
