欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

玩轉(zhuǎn)Redis搭建集群之Sentinel詳解-創(chuàng)新互聯(lián)

前言

創(chuàng)新互聯(lián)成立于2013年,公司以成都網(wǎng)站建設、成都做網(wǎng)站、系統(tǒng)開發(fā)、網(wǎng)絡推廣、文化傳媒、企業(yè)宣傳、平面廣告設計等為主要業(yè)務,適用行業(yè)近百種。服務企業(yè)客戶超過千家,涉及國內(nèi)多個省份客戶。擁有多年網(wǎng)站建設開發(fā)經(jīng)驗。為企業(yè)提供專業(yè)的網(wǎng)站建設、創(chuàng)意設計、宣傳推廣等服務。 通過專業(yè)的設計、獨特的風格,為不同客戶提供各種風格的特色服務。

Redis作為內(nèi)存數(shù)據(jù)庫,需要具備高可用的特點,不然如果服務器宕機,還在內(nèi)存里的數(shù)據(jù)就會丟失。我們最常用的高可用方法就是搭建集群,master機器掛了,可以讓slave機器頂上,繼續(xù)提供服務。但是Redis集群是不會自動進行主從切換的,也就是說,如果主節(jié)點非常不爭氣的在凌晨3點掛了,那么運維同學就要馬上起床,把從節(jié)點改成主節(jié)點,這樣的操作是非常繁瑣低效的。為此,Redis官方提供了一種解決方案:Redis Sentinel

簡介


Redis Sentinel集群通常由3到5個節(jié)點組成,如果個別節(jié)點掛了,集群還可以正常運作。它負責監(jiān)控Redis集群的健康情況。如果主節(jié)點掛掉,Sentinel集群會通過投票選擇一個新的主節(jié)點。當原來的主節(jié)點恢復時,它會被當做新的主節(jié)點的從節(jié)點重新加入Redis集群。

基本原理


Sentinel集群通過指定的配置文件發(fā)現(xiàn)master,對其進行監(jiān)控,并且會發(fā)送info指令獲取master的從節(jié)點信息。Sentinel集群中的節(jié)點通過向其監(jiān)控的主從節(jié)點發(fā)送hello信息(包含Sentinel本身的ip、端口和id等內(nèi)容)來向其他Sentinel宣告自己的存在。

Sentinel集群通過訂閱連接來接收其他Sentinel的hello信息。

Sentinel集群通過ping命令來檢查監(jiān)控的實例狀態(tài),如果在指定時間內(nèi)沒有返回,則認為該實例下線。

Sentinel觸發(fā)failover主從切換后,并不會馬上進行,只有指定(quorum)Sentinel授權(quán)后,master節(jié)點被標記為ODOWN狀態(tài)。這時才真正開始投票選擇新的master。

Sentinel選擇新的master的原則是:首先判斷優(yōu)先級,選擇優(yōu)先級較小的;如果優(yōu)先級相同,查看復制下標,選擇復制數(shù)據(jù)較多的;如果復制下標也相同,就選擇進程ID較小的。

Sentinel被授權(quán)后,它將會獲得宕掉的master的一份最新配置版本號(config-epoch),當failover執(zhí)行結(jié)束以后,這個版本號將會被用于最新的配置,通過廣播形式通知其它Sentinel,其它的Sentinel則更新對應master的配置。

基本使用


我們以Python為例,簡單說明一下在客戶端如何使用Sentinel

from redis.sentinel import Sentinel

if __name__ == '__main__':
 sentinel = Sentinel(['localhost', 26379], socket_timeout=0.1)
 print(sentinel.discover_master('mymaster'))
 print(sentinel.discover_slaves('mymaster'))
 master = sentinel.master_for('mymaster', socket_timeout=0.1)
 slave = sentinel.slave_for('mymaster', socket_timeout=0.1)
 master.set('follow', 'Jackeyzhe2018')
 follow = slave.get('follow')
 print(follow)

網(wǎng)站標題:玩轉(zhuǎn)Redis搭建集群之Sentinel詳解-創(chuàng)新互聯(lián)
URL分享:http://chinadenli.net/article8/gcpip.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號App開發(fā)品牌網(wǎng)站設計外貿(mào)建站服務器托管電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)