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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

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

不點藍字,我們哪來故事?

本文約:2000字?預計閱讀時間:5分鐘

? 1

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

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

????當你看到這篇文章的時候,就知道m(xù)oon要來提醒你學習了!多看看自己的錢包?,是不是感覺學習的動力滿滿呢?

????趁著你們玩的這幾天,moon又將這篇redis cluster集群的文章肝了出來,是不是很感動呢,來吧,學起~

? 2

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

cluster集群模式簡介

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

????上圖就是一個最簡單的

????cluster集群的架構圖

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

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

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

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

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

????我們再來說說插槽是如何和節(jié)點做關聯(lián)的:

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

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

????第一種情況可以通過cluster?add slot?s?命令來實現(xiàn)

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

如何獲取與插槽對應的節(jié)點

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

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

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

新節(jié)點的加入

????需要通過cluster meet命令來實現(xiàn):

????cluster?meet ip port?

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

故障恢復

????判斷故障的邏輯其實與哨兵模式有點類似,在集群中,每個節(jié)點都會定期的向其他節(jié)點發(fā)送ping命令,通過有沒有收到回復來判斷其他節(jié)點是否已經(jīng)下線。

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

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

????這個問題也是我們之前拋出來的問題,我們放一張圖大家就會很容易明白了:

????提高寫能力只需要橫向擴容我們的master節(jié)點

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

? 3

? ? ? ? ? 結語? ? ? ? ? ? ? ?

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

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

????我們下期見,記得點贊哦~~

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

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

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

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

END

? ? ? ? ?

關注moon

我們一起吊打面試官!

回復666 ?免費獲得一線大廠面試資料!

點亮 ,告訴大家你也在看

總結

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

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