新聞中心
部分可用

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比蚌埠網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式蚌埠網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋蚌埠地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
當(dāng)我們構(gòu)建一個(gè)分布式系統(tǒng)時(shí),可用性是非常重要的一個(gè)因素。為了能夠讓系統(tǒng)在出現(xiàn)災(zāi)難時(shí)仍能正常工作,我們需要構(gòu)建高可用的系統(tǒng)。其中最重要的一步,就是跨機(jī)房實(shí)時(shí)同步。
我們假定現(xiàn)在有兩個(gè)機(jī)房的 Redis 集群想要實(shí)現(xiàn)跨機(jī)房的實(shí)時(shí)數(shù)據(jù)同步。當(dāng) A 機(jī)房的數(shù)據(jù)發(fā)生變化時(shí),也應(yīng)該同步到 B 機(jī)房。
大多數(shù)情況下,我們可以采用 Redis 的主從架構(gòu)實(shí)現(xiàn)該功能:將 A 機(jī)房搭建成主庫(kù),將 B 機(jī)房搭建成從庫(kù),當(dāng) A 更新數(shù)據(jù)時(shí),如果配置良好,數(shù)據(jù)會(huì)自動(dòng)同步到 B。
然而,當(dāng)兩個(gè)機(jī)房之間不可達(dá)時(shí),上述方案就無(wú)法使用,此時(shí)我們可以采用 Redis Stream 功能來(lái)實(shí)現(xiàn)實(shí)時(shí)同步,如以下所示:
1. 設(shè)定 A 機(jī)房為主庫(kù),B 機(jī)房為從庫(kù)。
2. 主庫(kù) A 將數(shù)據(jù)寫(xiě)入 Redis Stream 對(duì)應(yīng)的 topic。
3. 從庫(kù) B 使用`XREAD`監(jiān)聽(tīng)該 topic,當(dāng)收到有新內(nèi)容時(shí),保存到自己的 Redis 集群內(nèi)。
在這種方案下,兩個(gè)集群之間的數(shù)據(jù)同步延遲會(huì)變長(zhǎng),也就是到從庫(kù)的數(shù)據(jù)可能會(huì)滯后于主庫(kù)。但是,跨機(jī)房的數(shù)據(jù)同步仍然是可以實(shí)現(xiàn)的,而且效果也算可以了。
此外,可以把從庫(kù) B 掛載到增量復(fù)制數(shù)據(jù)中心,以消除兩個(gè)集群之間的延遲,實(shí)現(xiàn)雙機(jī)房間束狀態(tài)一致。
當(dāng)然,Redis 并不是每種分布式系統(tǒng)都能用,所以應(yīng)該根據(jù)自己的場(chǎng)景來(lái)決定使用什么方案,以保證服務(wù)的可用性。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動(dòng)服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機(jī)租用。成都機(jī)房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)、開(kāi)啟建站+互聯(lián)網(wǎng)銷(xiāo)售服務(wù),與企業(yè)客戶共同成長(zhǎng),共創(chuàng)價(jià)值。
當(dāng)前文章:Redis跨機(jī)房實(shí)時(shí)同步構(gòu)建高可用的分布式系統(tǒng)(redis跨機(jī)房實(shí)時(shí)同步)
分享鏈接:http://fisionsoft.com.cn/article/dhssehs.html


咨詢
建站咨詢
