国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Redis的高可用詳解:Redis哨兵、復(fù)制、集群的設(shè)計(jì)原理,以及區(qū)別 優(yōu)知學(xué)院

前一篇文章高并發(fā)架構(gòu)系列:Redis為什么是單線程、及高并發(fā)快的3大原因詳解談了Redis高并發(fā)快的3個(gè)原因,本篇主要談Redis的高可用,兩篇合起來(lái)就可以把redis的高并發(fā)和高可用搞清楚了。

談到Redis服務(wù)器的高可用,如何保證備份的機(jī)器是原始服務(wù)器的完整備份呢?這時(shí)候就需要哨兵和復(fù)制。

  1. 哨兵(Sentinel):可以管理多個(gè)Redis服務(wù)器,它提供了監(jiān)控,提醒以及自動(dòng)的故障轉(zhuǎn)移的功能。
  2. 復(fù)制(Replication):則是負(fù)責(zé)讓一個(gè)Redis服務(wù)器可以配備多個(gè)備份的服務(wù)器。

Redis正是利用這兩個(gè)功能來(lái)保證Redis的高可用。

哨兵(sentinal)

哨兵是Redis集群架構(gòu)中非常重要的一個(gè)組件,哨兵的出現(xiàn)主要是解決了主從復(fù)制出現(xiàn)故障時(shí)需要人為干預(yù)的問(wèn)題。

1.Redis哨兵主要功能

(1)集群監(jiān)控:負(fù)責(zé)監(jiān)控Redis master和slave進(jìn)程是否正常工作

(2)消息通知:如果某個(gè)Redis實(shí)例有故障,那么哨兵負(fù)責(zé)發(fā)送消息作為報(bào)警通知給管理員

(3)故障轉(zhuǎn)移:如果master node掛掉了,會(huì)自動(dòng)轉(zhuǎn)移到slave node上

(4)配置中心:如果故障轉(zhuǎn)移發(fā)生了,通知client客戶端新的master地址

2.Redis哨兵的高可用

原理:當(dāng)主節(jié)點(diǎn)出現(xiàn)故障時(shí),由Redis Sentinel自動(dòng)完成故障發(fā)現(xiàn)和轉(zhuǎn)移,并通知應(yīng)用方,實(shí)現(xiàn)高可用性。

  1. 哨兵機(jī)制建立了多個(gè)哨兵節(jié)點(diǎn)(進(jìn)程),共同監(jiān)控?cái)?shù)據(jù)節(jié)點(diǎn)的運(yùn)行狀況。
  2. 同時(shí)哨兵節(jié)點(diǎn)之間也互相通信,交換對(duì)主從節(jié)點(diǎn)的監(jiān)控狀況。
  3. 每隔1秒每個(gè)哨兵會(huì)向整個(gè)集群:Master主服務(wù)器+Slave從服務(wù)器+其他Sentinel(哨兵)進(jìn)程,發(fā)送一次ping命令做一次心跳檢測(cè)。

這個(gè)就是哨兵用來(lái)判斷節(jié)點(diǎn)是否正常的重要依據(jù),涉及兩個(gè)新的概念:主觀下線和客觀下線。

1. 主觀下線:一個(gè)哨兵節(jié)點(diǎn)判定主節(jié)點(diǎn)down掉是主觀下線。

2.客觀下線:只有半數(shù)哨兵節(jié)點(diǎn)都主觀判定主節(jié)點(diǎn)down掉,此時(shí)多個(gè)哨兵節(jié)點(diǎn)交換主觀判定結(jié)果,才會(huì)判定主節(jié)點(diǎn)客觀下線。

3.原理:基本上哪個(gè)哨兵節(jié)點(diǎn)最先判斷出這個(gè)主節(jié)點(diǎn)客觀下線,就會(huì)在各個(gè)哨兵節(jié)點(diǎn)中發(fā)起投票機(jī)制Raft算法(選舉算法),最終被投為領(lǐng)導(dǎo)者的哨兵節(jié)點(diǎn)完成主從自動(dòng)化切換的過(guò)程。

Redis 復(fù)制(Replication)

Redis為了解決單點(diǎn)數(shù)據(jù)庫(kù)問(wèn)題,會(huì)把數(shù)據(jù)復(fù)制多個(gè)副本部署到其他節(jié)點(diǎn)上,通過(guò)復(fù)制,實(shí)現(xiàn)Redis的高可用性,實(shí)現(xiàn)對(duì)數(shù)據(jù)的冗余備份,保證數(shù)據(jù)和服務(wù)的高度可靠性。

1.數(shù)據(jù)復(fù)制原理(執(zhí)行步驟)

①?gòu)臄?shù)據(jù)庫(kù)向主數(shù)據(jù)庫(kù)發(fā)送sync(數(shù)據(jù)同步)命令。

②主數(shù)據(jù)庫(kù)接收同步命令后,會(huì)保存快照,創(chuàng)建一個(gè)RDB文件。

③當(dāng)主數(shù)據(jù)庫(kù)執(zhí)行完保持快照后,會(huì)向從數(shù)據(jù)庫(kù)發(fā)送RDB文件,而從數(shù)據(jù)庫(kù)會(huì)接收并載入該文件。

④主數(shù)據(jù)庫(kù)將緩沖區(qū)的所有寫(xiě)命令發(fā)給從服務(wù)器執(zhí)行。

⑤以上處理完之后,之后主數(shù)據(jù)庫(kù)每執(zhí)行一個(gè)寫(xiě)命令,都會(huì)將被執(zhí)行的寫(xiě)命令發(fā)送給從數(shù)據(jù)庫(kù)。

注意:在Redis2.8之后,主從斷開(kāi)重連后會(huì)根據(jù)斷開(kāi)之前最新的命令偏移量進(jìn)行增量復(fù)制。

Redis 主從復(fù)制、哨兵和集群這三個(gè)有什么區(qū)別

1.主從模式:讀寫(xiě)分離,備份,一個(gè)Master可以有多個(gè)Slaves。

2.哨兵sentinel:監(jiān)控,自動(dòng)轉(zhuǎn)移,哨兵發(fā)現(xiàn)主服務(wù)器掛了后,就會(huì)從slave中重新選舉一個(gè)主服務(wù)器。

3.集群:為了解決單機(jī)Redis容量有限的問(wèn)題,將數(shù)據(jù)按一定的規(guī)則分配到多臺(tái)機(jī)器,內(nèi)存/QPS不受限于單機(jī),可受益于分布式集群高擴(kuò)展性。

哨兵作用于高可用,集群提高并發(fā)量,具體Redis集群方案詳情,可以參考:高并發(fā)架構(gòu)系列:詳解Redis的存儲(chǔ)類型、集群架構(gòu)、以及應(yīng)用場(chǎng)景


本文標(biāo)題:Redis的高可用詳解:Redis哨兵、復(fù)制、集群的設(shè)計(jì)原理,以及區(qū)別
轉(zhuǎn)載請(qǐng)保留頁(yè)面地址:http://youzhixueyuan.com/redis-high-availability.html
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Redis高可用-主從,哨兵,集群
教會(huì)你搭建Redis集群和MySQL主從同步(非Docker)
一文掌握Redis的三種集群方案
關(guān)于redis的主從、哨兵、集群
Redis主從復(fù)制、哨兵模式、集群
簡(jiǎn)明實(shí)用:Redis 高級(jí)特性與案例介紹
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服