新聞中心
隨著usrvice和微服務(wù)的發(fā)展,越來越多的企業(yè)實施了多機房的架構(gòu),該架構(gòu)能讓系統(tǒng)橫跨多個機房,資源分布更加便捷靈活,但多機房架構(gòu)也會把數(shù)據(jù)分散到不同的地方,這個時候就需要使用舉一反三的一致性算法,比如Redis,下面我們就來介紹一下如何在多機房架構(gòu)下建立redis的一致性。

創(chuàng)新互聯(lián)建站是專業(yè)的囊謙網(wǎng)站建設(shè)公司,囊謙接單;提供網(wǎng)站設(shè)計制作、網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行囊謙網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
為實現(xiàn)跨機房一致性,我們需要先分別在每個機房下按順序建立三臺服務(wù)器,用于redis的高可用部署(因為每個redis服務(wù)器是單線程的,因此要用到三臺服務(wù)器的高可用部署),然后將這三臺服務(wù)器分別部署在每個機房下,這樣每一個redis將會有三個副本服務(wù)器,保證了以上每臺服務(wù)器的高可用。
接下來就是要搭建redis一致性算法集群,執(zhí)行下面的代碼,執(zhí)行后會使用docker容器啟動在三個服務(wù)器下的redis-master和redis-slave,保證數(shù)據(jù)的一致性:
# 部署Redis Master在機房1
docker run -d --name redis-master --net=host redis /usr/bin/redis-server --slaveof 6379
# 部署Redis Slave在機房1
docker run -d --name redis-slave1 --net=host redis /usr/bin/redis-server --slaveof 6379
# 部署Redis Slave在機房2
docker run -d --name redis-slave2 --net=host redis /usr/bin/redis-server --slaveof 6379
# 部署Redis Slave在機房3
docker run -d --name redis-slave3 --net=host redis /usr/bin/redis-server --slaveof 6379
完成上面的步驟之后,我們要接下來開啟同步功能,只需在redis的配置文件里添加slave-serve-stale-data yes即可,這樣在網(wǎng)絡(luò)不可用的時候,只有主節(jié)點故障,從節(jié)點可以繼續(xù)提供服務(wù),以此保證一致性。
我們需要設(shè)置每個節(jié)點之間的心跳,這樣可以保證在有節(jié)點掛掉的時候自動從備份節(jié)點恢復(fù),在redis客戶端執(zhí)行slaveof 6379,即可完成節(jié)點之間的心跳設(shè)置。
上面就是在多機房架構(gòu)下,建立redis一致性的全部步驟,由于redis的高可用部署在搭建一致性的前提下,有助于保證系統(tǒng)的高可用性,所以,借助redis可以在多機房環(huán)境下實現(xiàn)一致性。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文題目:建立多機房環(huán)境下redis一致性(多機房redis一致性)
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/dhjpsdp.html


咨詢
建站咨詢
