版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Redis相對于CdisdisRedisCluster將所有數(shù)據(jù)劃分為16384的slots,它?Codis的1024個槽劃分的更為精細,每個節(jié)點負責其中?部分槽位。槽位的信息存儲于每個節(jié)點中,它不像Codis,它不需要另外的分布式存儲當RedisCluster的客戶端來連接集群時,它也會得到?份集群的槽位配置信息。這樣當客戶端要查找某個key時,可以直接定位到?這點不同于Codis,Codis需要通過ProxyRedisClusterkey所在的節(jié)點,它就需要緩存槽位相關(guān)信息,這樣才可以準確快速另外,RedisClusterCluster默認會對key值使?crc16算法進?hash得到?個整數(shù)值,然后?這個整數(shù)值對16384進?取模來得到具體槽位。Cluster還允許?戶強制某個key掛在特定槽位上,通過在key字符串??嵌?tag標記,這就可以強制key所掛在的槽位等于tagdefdefs=key.index"{"ifse=key.index"}",s+1ife&&e!=s+1key=key[s+1..e-crc16(key)%當客戶端向?個錯誤的節(jié)點發(fā)出了指令,該節(jié)點會發(fā)現(xiàn)指令的keyGETGET-MOVED3999MOVED指令的第?個參數(shù)3999是key?標節(jié)點地址。MOVED指令前?有?個減號,表示該指令是?個錯MOVED指令后,要?即糾正本地的槽位映射表。后續(xù)所有key將使?新的槽位映射表。RedisCluster提供了?具redis-trib可以讓運維?員?動調(diào)整槽位的分配情況,它使?Ruby語?進?開發(fā),通過組合各種原?的RedisCluster指令來實現(xiàn)。這點Codis做的更加?性化,它不但提供了UI界?可以讓我們?便的遷移,還提供了?動化平衡槽位?具,?需???預(yù)就可以均衡集群負載。不過Redis官?向來的策Redis遷移的單位是槽,Redis?個槽?個槽進?遷移,當?個槽正遷移?具rdistribky(kynslt)k進?遷移。每個kyk執(zhí)?dumprstor攜O從源節(jié)點獲取內(nèi)容從源節(jié)點刪除內(nèi)容注意這?的遷移過程是同步的,在?標節(jié)點執(zhí)?restore指令到原節(jié)點刪除key之間,原節(jié)點的主線程會處于阻塞狀態(tài),直到key被成功如果遷移過程中突然出現(xiàn)?絡(luò)故障,整個slot的遷移只進?了?半。在遷移過程中,如果每個key的內(nèi)容都很?,migrate指令執(zhí)?會很快,它就并不會影響客戶端的正常訪問。如果key的內(nèi)容很?,因為?先新舊兩個節(jié)點對應(yīng)的槽位都存在部分key數(shù)據(jù)??蛻舳讼葒L試會向客戶端返回?個-ASKtargetNodeAddr的重定向指令??蛻魰纬芍囟ㄏ蜓h(huán)。asking指令的?標就是打開?標節(jié)點的選項,情況下?個ttl就能完成,?在遷移中得3個ttl才能搞定。RedisCluster可以為每個主節(jié)點設(shè)置若?個從節(jié)點,單主節(jié)點故障Redis也提供了?個參數(shù)cluster-require-full-coverage可為解決這種問題,RedisCluster提供了?種選項cluster-node-timeout,表示當某個節(jié)點持續(xù)timeout的時間失聯(lián)時,才可以認動會導(dǎo)致主從頻繁切換(數(shù)據(jù)的重新復(fù)制)。rsevtyt作為倍乘1可能下線(PFAIL-PossiblyFail與確定下線(Fail)因為RedisCluster是去中?化的,?個節(jié)點認為某個節(jié)點失聯(lián)了并Redis集群節(jié)點采?Gossip協(xié)議來?播??的狀態(tài)以及??對整個集群認知的改變。?如?個節(jié)點發(fā)現(xiàn)某個節(jié)點失聯(lián)了(PFail),它會如果?個節(jié)點收到了某個節(jié)點失聯(lián)的數(shù)量(PFailCount)已經(jīng)達到了集群的?多數(shù),就可以標記該節(jié)點為確定下線狀態(tài)(Fail),然后向整Cluster另外?個包,這個包是依賴redis-py包的。pippipinstallredis-py-redis-py-cluster>>>>>>fromredisclusterimport>>>#Requiresatleastonenodeforclusterdiscovery.Multiplenodesisrecommended.>>>startup_nodes=[{"host":"127.0.0.1","port":"7000"}]>>>rc=>>>rc.set("foo","bar")>>>Cluster是去中?化的,它有多個節(jié)點組成,構(gòu)造StrictRedisCluster實例時,我們可以只??個節(jié)點地址,其它地址必須更換地址才可以繼續(xù)訪問Cluster。decode_responses數(shù)組轉(zhuǎn)換成unicodeCluster使?起來?常?便,?起來和普通的redis-py差別不?,Cluster不?持事務(wù),Cluster的mget?法相?Redis要慢很多,被拆分成了多個get指令,Cluster的rename?法不再是原?如果Cluster中某個槽位正在遷移或者已經(jīng)遷移完了,client如何能我們前?提到Cluster有兩個特殊的error指令,?個是asking第?個moved是?來糾正槽位的。如果我們將指令發(fā)送到了錯誤的地址隨同moved指令回復(fù)給客戶端通知客戶端去?標節(jié)點去訪問。第?個asking指令和moved不?樣,它是?來臨時糾正槽位的?;?個askingerror攜帶上?標節(jié)點的地址??蛻舳耸盏竭@個askingerror后,就會去?標節(jié)點去嘗試??蛻舳瞬粫⑿虏畚恢卦?movedasking指令都是重試指令,客戶端會因為這兩個指令多2次呢?這種情況是存在的,?如?條指令被發(fā)送到錯誤的節(jié)點,這個節(jié)點會先給你?個moved錯誤告知你去另外?個節(jié)點重試。所以個槽位進?遷移操作,于是給客戶端回復(fù)了?個asking指令告知客戶端去?標節(jié)點去重試指令。所以這?客戶端重試了2次。會有?個循環(huán),然后會設(shè)置?個最?重試次數(shù),Java和Python都點關(guān)系表。那客戶端是如何得到通知的呢?這?要分2種情況:Connecti
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年特色小吃店加盟合同2篇
- 2025年度水利工程農(nóng)民工臨時工勞動合同
- 2024年校長任期目標責任及考核合同范本3篇
- 二零二五年度貨車司機個人雇傭合同規(guī)范文本
- 小學(xué)二年級數(shù)學(xué)100以內(nèi)加減法豎式計算過關(guān)考核口算題帶答案
- 2025年度員工股權(quán)認購與業(yè)績考核合同
- 二零二五年度農(nóng)村宅基地買賣及農(nóng)村土地承包經(jīng)營權(quán)確權(quán)合同
- 三年級數(shù)學(xué)兩位數(shù)乘一位數(shù)計算題同步自測習(xí)題
- 2024年油氣管道運輸服務(wù)合同
- 2024年版夫妻雙方協(xié)商一致離婚合同樣本版B版
- 2024-2025學(xué)年四年級科學(xué)上冊第一單元《聲音》測試卷(教科版)
- 勞務(wù)分包的施工方案
- 視頻監(jiān)控系統(tǒng)維保方案及報價
- X62W萬能銑床
- 實習(xí)律師申請表(模板)
- 國家開放大學(xué)《計算機組成原理》章節(jié)測試參考答案
- 環(huán)甲膜穿刺ppt課件
- 裝配基礎(chǔ)知識要點
- 電腦全自動插拔力試驗機操作指導(dǎo)書
- 人臉識別系統(tǒng)采購安裝規(guī)定合同范本
- 背壓式汽輪機最佳運行及系統(tǒng)改造后的熱效率分析
評論
0/150
提交評論