日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql cluster_redislt;3.cluster集群模式gt;

發(fā)布時(shí)間:2025/3/20 数据库 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql cluster_redislt;3.cluster集群模式gt; 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

不點(diǎn)藍(lán)字,我們哪來(lái)故事?

本文約:2000字?預(yù)計(jì)閱讀時(shí)間:5分鐘

? 1

?????????前言? ? ? ? ? ? ? ??

????現(xiàn)在已經(jīng)到了國(guó)慶的末尾了,大家這個(gè)國(guó)慶過(guò)的怎么樣?是否已經(jīng)順利地從家中返航?

????當(dāng)你看到這篇文章的時(shí)候,就知道m(xù)oon要來(lái)提醒你學(xué)習(xí)了!多看看自己的錢(qián)包?,是不是感覺(jué)學(xué)習(xí)的動(dòng)力滿滿呢?

????趁著你們玩的這幾天,moon又將這篇redis cluster集群的文章肝了出來(lái),是不是很感動(dòng)呢,來(lái)吧,學(xué)起~

? 2

?????????正文? ? ? ? ? ? ? ?

cluster集群模式簡(jiǎn)介

????在redis3.0版本中支持了cluster集群部署的方式,這種集群部署的方式能自動(dòng)將數(shù)據(jù)進(jìn)行分片,每個(gè)master上放一部分?jǐn)?shù)據(jù),提供了內(nèi)置的高可用服務(wù),即使某個(gè)master掛了,服務(wù)還可以正常地提供,我們先來(lái)看張圖:

????上圖就是一個(gè)最簡(jiǎn)單的

????cluster集群的架構(gòu)圖

? ?使用cluster集群模式,只需要將每個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)的cluster-enabled配置選項(xiàng)打開(kāi)即可,但是每個(gè)cluster集群至少要保證有3個(gè)主數(shù)據(jù)庫(kù)才能正常運(yùn)行。

cluster集群模式是怎么存放數(shù)據(jù)的?

????一個(gè)cluster集群中總共有16384個(gè)節(jié)點(diǎn),集群會(huì)將這16384個(gè)節(jié)點(diǎn)平均分配給每個(gè)節(jié)點(diǎn),當(dāng)然,我這里的節(jié)點(diǎn)指的是每個(gè)主節(jié)點(diǎn),就如同下圖:

我們先聊聊鍵是如何和16384個(gè)插槽做關(guān)聯(lián)的:

????redis將每個(gè)redis的鍵的鍵名有效部分使用CRC16算法計(jì)算出散列值,然后與16384取余數(shù),這樣的就可以使每個(gè)鍵能夠盡量的均勻分布在16384個(gè)插槽中。

????我們?cè)賮?lái)說(shuō)說(shuō)插槽是如何和節(jié)點(diǎn)做關(guān)聯(lián)的:

????①插槽之前沒(méi)有被分配過(guò),現(xiàn)在想分配給指定節(jié)點(diǎn)

????②插槽之前被分配過(guò),現(xiàn)在想移動(dòng)指定節(jié)點(diǎn)

????第一種情況可以通過(guò)cluster?add slot?s?命令來(lái)實(shí)現(xiàn)

????第二種情況的原理相對(duì)麻煩一點(diǎn),但是redis也提供的便捷的方式去操作,我們可以使用redis-trib.rb去實(shí)現(xiàn)

如何獲取與插槽對(duì)應(yīng)的節(jié)點(diǎn)

????當(dāng)客戶端向redis集群中的任意一個(gè)節(jié)點(diǎn)發(fā)送命令后,該節(jié)點(diǎn)都會(huì)判斷當(dāng)前鍵的信息是否存在于當(dāng)前節(jié)點(diǎn):

????如果存在,那么就會(huì)像單機(jī)的reids一樣執(zhí)行命令。

????如果不存在,就會(huì)返回一個(gè)move重定向請(qǐng)求,告訴客戶端負(fù)責(zé)該數(shù)據(jù)的節(jié)點(diǎn)是哪一個(gè),然后客戶端會(huì)向該節(jié)點(diǎn)發(fā)送命令再次請(qǐng)求獲取數(shù)據(jù)

新節(jié)點(diǎn)的加入

????需要通過(guò)cluster meet命令來(lái)實(shí)現(xiàn):

????cluster?meet ip port?

??? ip port 是我們已運(yùn)行的redis集群中任意一個(gè)節(jié)點(diǎn)的地址和端口號(hào),新節(jié)點(diǎn)在客戶端輸入命令后,會(huì)與命令中的節(jié)點(diǎn)進(jìn)行握手,握手后,命令中的集群節(jié)點(diǎn)會(huì)將這個(gè)新節(jié)點(diǎn)的信息分享給集群中的每一個(gè)節(jié)點(diǎn)。??

故障恢復(fù)

????判斷故障的邏輯其實(shí)與哨兵模式有點(diǎn)類似,在集群中,每個(gè)節(jié)點(diǎn)都會(huì)定期的向其他節(jié)點(diǎn)發(fā)送ping命令,通過(guò)有沒(méi)有收到回復(fù)來(lái)判斷其他節(jié)點(diǎn)是否已經(jīng)下線。

如果長(zhǎng)時(shí)間沒(méi)有回復(fù),那么發(fā)起ping命令的節(jié)點(diǎn)就會(huì)認(rèn)為目標(biāo)節(jié)點(diǎn)疑似下線,也可以和哨兵一樣稱作主觀下線,當(dāng)然也需要集群中一定數(shù)量的節(jié)點(diǎn)都認(rèn)為該節(jié)點(diǎn)下線才可以,我們來(lái)說(shuō)說(shuō)具體過(guò)程:①當(dāng)A節(jié)點(diǎn)發(fā)現(xiàn)目標(biāo)節(jié)點(diǎn)疑似下線,就會(huì)向集群中的其他節(jié)點(diǎn)散播消息,其他節(jié)點(diǎn)就會(huì)向目標(biāo)節(jié)點(diǎn)發(fā)送命令,判斷目標(biāo)節(jié)點(diǎn)是否下線②如果集群中半數(shù)以上的節(jié)點(diǎn)都認(rèn)為目標(biāo)節(jié)點(diǎn)下線,就會(huì)對(duì)目標(biāo)節(jié)點(diǎn)標(biāo)記為下線,從而告訴其他節(jié)點(diǎn),讓目標(biāo)節(jié)點(diǎn)在整個(gè)集群中都下線

之后當(dāng)B已經(jīng)下線,那么B的slave就會(huì)開(kāi)始選舉,選擇是哪個(gè)slave升級(jí)為master,繼續(xù)提供服務(wù),這個(gè)過(guò)程和哨兵的過(guò)程基本相同,這里就不在贅述的,不知道的小伙伴可以傳送學(xué)完redis的三種集群部署后,工資又漲了1000!!<2.哨兵模式>如何提高redis的讀寫(xiě)能力

????這個(gè)問(wèn)題也是我們之前拋出來(lái)的問(wèn)題,我們放一張圖大家就會(huì)很容易明白了:

????提高寫(xiě)能力只需要橫向擴(kuò)容我們的master節(jié)點(diǎn)

????提高讀能力只需要橫向擴(kuò)容slave就好了

? 3

? ? ? ? ? 結(jié)語(yǔ)? ? ? ? ? ? ? ?

?????在國(guó)慶的尾巴和大家聊完了redis部署方式的最終篇-cluster部署,也解決了之前我們留下的問(wèn)題

????下一篇文章我會(huì)和大家聊聊redis的事務(wù)和mysql的事務(wù)到底有什么不一樣

????我們下期見(jiàn),記得點(diǎn)贊哦~~

●學(xué)完redis的三種集群部署后,工資又漲了1000!!<2.哨兵模式>

●學(xué)完redis的三種集群部署后,工資又漲了1000!!<1.主從復(fù)制>

●內(nèi)存屏障?cpu級(jí)別的優(yōu)化,你真的懂單例了嗎???

●現(xiàn)在居然還有不知道持久化的......出門(mén)右拐不送!!!!

END

? ? ? ? ?

關(guān)注moon

我們一起吊打面試官!

回復(fù)666 ?免費(fèi)獲得一線大廠面試資料!

點(diǎn)亮 ,告訴大家你也在看

總結(jié)

以上是生活随笔為你收集整理的mysql cluster_redislt;3.cluster集群模式gt;的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。