日本乱偷中文字幕,美女脱内衣18禁免费看,亚洲国产精品丝袜在线观看,18女人腿打开无遮挡,廖承宇chinese野战做受

Redis Sentinel哨兵機制

003525-15714165258031.jpg

簡(jiǎn)介

Redis的哨兵(sentinel) 系統用于管理多個(gè) Redis 服務(wù)器,該系統執行以下三個(gè)任務(wù):

監控(Monitoring): 哨兵(sentinel) 會(huì )不斷地檢查你的Master和Slave是否運作正常。

提醒(Notification): 當被監控的某個(gè) Redis出現問(wèn)題時(shí), 哨兵(sentinel) 可以通過(guò) API 向管理員或者其他應用程序發(fā)送通知。

自動(dòng)故障遷移(Automatic failover): 當一個(gè)Master不能正常工作時(shí),哨兵(sentinel) 會(huì )開(kāi)始一次自動(dòng)故障遷移操作,它會(huì )將失效Master的其中一個(gè)Slave升級為新的Master, 并讓失效Master的其他Slave改為復制新的Master; 當客戶(hù)端試圖連接失效的Master時(shí),集群也會(huì )向客戶(hù)端返回新Master的地址,使得集群可以使用Master代替失效Master。

哨兵(sentinel) 是一個(gè)分布式系統,你可以在一個(gè)架構中運行多個(gè)哨兵(sentinel) 進(jìn)程,這些進(jìn)程使用流言協(xié)議(gossipprotocols)來(lái)接收關(guān)于Master是否下線(xiàn)的信息,并使用投票協(xié)議(agreement protocols)來(lái)決定是否執行自動(dòng)故障遷移,以及選擇哪個(gè)Slave作為新的Master。

每個(gè)哨兵(sentinel) 會(huì )向其它哨兵(sentinel)、master、slave定時(shí)發(fā)送消息,以確認對方是否”活”著(zhù),如果發(fā)現對方在指定時(shí)間(可配置)內未回應,則暫時(shí)認為對方已掛(所謂的”主觀(guān)認為宕機” Subjective Down,簡(jiǎn)稱(chēng)sdown).
若“哨兵群”中的多數sentinel,都報告某一master沒(méi)響應,系統才認為該master"徹底死亡"(即:客觀(guān)上的真正down機,Objective Down,簡(jiǎn)稱(chēng)odown),通過(guò)一定的vote算法,從剩下的slave節點(diǎn)中,選一臺提升為master,然后自動(dòng)修改相關(guān)配置。
雖然哨兵(sentinel) 釋出為一個(gè)單獨的可執行文件 redis-sentinel ,但實(shí)際上它只是一個(gè)運行在特殊模式下的 Redis 服務(wù)器,你可以在啟動(dòng)一個(gè)普通 Redis 服務(wù)器時(shí)通過(guò)給定 --sentinel 選項來(lái)啟動(dòng)哨兵(sentinel)。
哨兵(sentinel) 的一些設計思路和zookeeper非常類(lèi)似。

1a42a26e28f0948da645a6c0eb3129e8ae2.png

哨兵(Sentinel)總結

1、Sentinel的作用:

  • Master 狀態(tài)監測
  • 如果Master 異常,則會(huì )進(jìn)行Master-slave 轉換,將其中一個(gè)Slave作為Master,將之前的Master作為Slave
  • Master-Slave切換后,master_redis.conf、slave_redis.conf和sentinel.conf的內容都會(huì )發(fā)生改變,即master_redis.conf中會(huì )多一行slaveof的配置,sentinel.conf的監控目標會(huì )隨之調換

2. Sentinel的工作方式:

  • 每個(gè)Sentinel以每秒鐘一次的頻率向它所知的Master,Slave以及其他 Sentinel 實(shí)例發(fā)送一個(gè) PING 命令。
  • 如果一個(gè)實(shí)例(instance)距離最后一次有效回復 PING 命令的時(shí)間超過(guò) down-after-milliseconds 選項所指定的值, 則這個(gè)實(shí)例會(huì )被 Sentinel 標記為主觀(guān)下線(xiàn)。
  • 如果一個(gè)Master被標記為主觀(guān)下線(xiàn),則正在監視這個(gè)Master的所有 Sentinel 要以每秒一次的頻率確認Master的確進(jìn)入了主觀(guān)下線(xiàn)狀態(tài)。
  • 當有足夠數量的 Sentinel(大于等于配置文件指定的值)在指定的時(shí)間范圍內確認Master的確進(jìn)入了主觀(guān)下線(xiàn)狀態(tài), 則Master會(huì )被標記為客觀(guān)下線(xiàn) 。
  • 在一般情況下, 每個(gè) Sentinel 會(huì )以每 10 秒一次的頻率向它已知的所有Master,Slave發(fā)送 INFO 命令 。
  • 當Master被 Sentinel 標記為客觀(guān)下線(xiàn)時(shí),Sentinel 向下線(xiàn)的 Master 的所有 Slave 發(fā)送 INFO 命令的頻率會(huì )從 10 秒一次改為每秒一次 。
  • 若沒(méi)有足夠數量的 Sentinel 同意 Master 已經(jīng)下線(xiàn), Master 的客觀(guān)下線(xiàn)狀態(tài)就會(huì )被移除。

若 Master 重新向 Sentinel 的 PING 命令返回有效回復, Master 的主觀(guān)下線(xiàn)狀態(tài)就會(huì )被移除。

本文轉自: https://www.cnblogs.com/chenpt/p/9599831.html



標 題:《Redis Sentinel哨兵機制
作 者:zeekling
提 示:轉載請注明文章轉載自個(gè)人博客:浪浪山旁那個(gè)村

    評論
    0 評論
avatar

取消
日本乱偷中文字幕,美女脱内衣18禁免费看,亚洲国产精品丝袜在线观看,18女人腿打开无遮挡,廖承宇chinese野战做受