欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

Redis集群技術(shù)架構(gòu)

1、無(wú)中心化

  • Redis Cluster采用無(wú)中心架構(gòu),每個(gè)節(jié)點(diǎn)都保存數(shù)據(jù)和整個(gè)集群的節(jié)點(diǎn)狀態(tài)
  • 每個(gè)節(jié)點(diǎn)都和集群中的其它節(jié)點(diǎn)保持連接
  • 使用gossip協(xié)議傳播信息以及發(fā)現(xiàn)新的節(jié)點(diǎn)
  • 節(jié)點(diǎn)不作為client請(qǐng)求的代理,client應(yīng)該根據(jù)節(jié)點(diǎn)返回的錯(cuò)誤信息重定向到目標(biāo)client

2、數(shù)據(jù)分布(slot)

redis預(yù)設(shè)16384個(gè)slot(槽),集群中的每個(gè)master節(jié)點(diǎn)負(fù)責(zé)分管一部份slot,保存數(shù)據(jù)時(shí),根據(jù)CRC16(key) mod 16384的值,決定將一個(gè)key放到哪個(gè)槽中,從而定位由哪個(gè)redis實(shí)例存儲(chǔ)。當(dāng)發(fā)生Redis節(jié)點(diǎn)增減時(shí),調(diào)整桶的分布即可,實(shí)現(xiàn)了集群的動(dòng)態(tài)擴(kuò)容功能。同時(shí)也間接的說(shuō)明redis集群最多只能有16384個(gè)節(jié)點(diǎn)。
例如:假設(shè)Redis集群有三個(gè)節(jié)點(diǎn)A/B/C,在開(kāi)始創(chuàng)建的時(shí)候,集群中節(jié)點(diǎn)槽的分配如下:
Node A 分管slot的編號(hào)為:0 ~ 5460
Node B 分管slot的編號(hào)為:5461 ~ 10922
Node C 分管slot的編號(hào)為:10923 ~ 16383
當(dāng)添加一個(gè)新的master節(jié)點(diǎn)D,假設(shè)為它分配900個(gè)slot,你可以從節(jié)點(diǎn)ABC三中各取300個(gè)分配給D,也可指定從A或B或C中移出900個(gè)slot分配給D,或選其中幾個(gè)節(jié)點(diǎn)中各取一部份湊夠900個(gè)分配給D即可。同樣的,如果要將D節(jié)點(diǎn)移除,需要先將D節(jié)點(diǎn)分管的slot全部分配到其它master節(jié)點(diǎn)后才能移除,否則有無(wú)效的slot,集群將無(wú)法服務(wù)。

3、可用性:Master-Slave

  • 為了保證服務(wù)的可用性,Redis Cluster采取的方案是Master-Slave機(jī)制
  • 每個(gè)Redis Master Node可以有一個(gè)或者多個(gè)Slave Node。當(dāng)Master Node掛掉時(shí),會(huì)從Slave Node中選一個(gè)新的Master
  • 每個(gè)Master Node都負(fù)責(zé)分管一定范圍的slot,當(dāng)這些slot對(duì)應(yīng)的Master和Slave都掛掉時(shí),這部份slot對(duì)應(yīng)的數(shù)據(jù)將不可用
  • 16384個(gè)slot必須被全部分配,否則集群將不可用。通過(guò)cluster info查看集群狀態(tài)可以得知。

4、寫(xiě)

Redis Cluster采用異步復(fù)制機(jī)制
一個(gè)完整的寫(xiě)操作步聚:
1. client寫(xiě)數(shù)據(jù)到master
2. master回復(fù)client “OK”
3. master將數(shù)據(jù)傳播更新到slave

存在數(shù)據(jù)丟失的風(fēng)險(xiǎn):
1. 上述步聚1)和2)成功后,如果此時(shí)master crash,而數(shù)據(jù)還沒(méi)有傳播到slave。此時(shí)slave選主為master,但那部份數(shù)據(jù)可能就被丟失了。
2. 由于分區(qū)導(dǎo)致同時(shí)存在兩個(gè)master,client向舊的master寫(xiě)入了數(shù)據(jù)
當(dāng)然,由于Redis Cluster存在超時(shí)及故障恢復(fù)機(jī)制,第2個(gè)風(fēng)險(xiǎn)基本上可以忽略不計(jì)

5、數(shù)據(jù)遷移

Redis Cluster支持在線增、減節(jié)點(diǎn)?;趕lot的數(shù)據(jù)分布方式大大降低了遷移成本,只需將數(shù)據(jù)slot從一個(gè)redis node遷移到另一個(gè)redis node即可完成遷移工作 。

當(dāng)slot從一個(gè)Node A向另一個(gè)Node B遷移時(shí),Node A和Node B都會(huì)有這個(gè)slot,Node A上slot的狀態(tài)設(shè)置為MIGRATING,Node B上的狀態(tài)被設(shè)置為IMPORTING。此時(shí)當(dāng)客戶(hù)端請(qǐng)求時(shí),所有key在Node A上的請(qǐng)求都由A來(lái)處理,所有不在A上的key都由Node B來(lái)處理。同時(shí),Node A上將不會(huì)創(chuàng)建新的key。

6、客戶(hù)端操作的一些缺陷

  • 不支持多數(shù)據(jù)庫(kù),默認(rèn)只有一個(gè)0號(hào)db,select 0
  • cluster環(huán)境下slave默認(rèn)不接受任何讀寫(xiě)操作,在slave執(zhí)行readonly命令后,可執(zhí)行讀操作。執(zhí)行readwrite命令后,可執(zhí)行讀寫(xiě)操作。
  • client端不支持多key操作(mget,mset等),但當(dāng)keys集合對(duì)應(yīng)的slot相同時(shí)支持mget操作。

    Redis集群技術(shù)架構(gòu)

文章鏈接: http://www.qzkangyuan.com/13636.html

文章標(biāo)題:Redis集群技術(shù)架構(gòu)

文章版權(quán):夢(mèng)飛科技所發(fā)布的內(nèi)容,部分為原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明來(lái)源,網(wǎng)絡(luò)轉(zhuǎn)載文章如有侵權(quán)請(qǐng)聯(lián)系我們!

聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書(shū)籍等各類(lèi)媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程投稿分享

Redis集群管理(二)

2022-12-2 0:24:47

建站教程投稿分享

MySQL用戶(hù)權(quán)限管理

2022-12-2 0:33:10

0 條回復(fù) A文章作者 M管理員
    暫無(wú)討論,說(shuō)說(shuō)你的看法吧
?
個(gè)人中心
購(gòu)物車(chē)
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

夢(mèng)飛科技 - 最新云主機(jī)促銷(xiāo)服務(wù)器租用優(yōu)惠

主站蜘蛛池模板: 蓬安县| 石嘴山市| 永宁县| 平度市| 汉中市| 开封市| 乐业县| 西充县| 张家港市| 大余县| 阿尔山市| 田林县| 安阳县| 成安县| 宁都县| 奇台县| 新乡市| 阳朔县| 崇礼县| 山东省| 小金县| 张家口市| 彭泽县| 五台县| 扬州市| 金溪县| 重庆市| 陇川县| 桂阳县| 德庆县| 明水县| 聊城市| 玉环县| 台州市| 长治县| 古丈县| 丽水市| 金阳县| 新竹县| 大余县| 彰化县|