由于redis的響應(yīng)速度快,每秒支持的并發(fā)極高(號(hào)稱10萬),現(xiàn)在redis越來越流行了
redis支持的存儲(chǔ)有: string, hash(map),list, set, sortset 同時(shí)可以使用redis的setnx 來實(shí)現(xiàn)分布式鎖
首先談?wù)剅edis的哨兵模式:
哨兵支持對(duì)主從的監(jiān)控,并且當(dāng)主節(jié)點(diǎn)掛機(jī)之后,可以啟動(dòng)從節(jié)點(diǎn)升級(jí)為主節(jié)點(diǎn)繼續(xù)提供服務(wù)
同時(shí)哨兵也支持對(duì)客戶端提供發(fā)現(xiàn)服務(wù),客戶端通過連接哨兵從而獲取主節(jié)點(diǎn)的信息,如果主節(jié)點(diǎn)掛機(jī),在升級(jí)從節(jié)點(diǎn)為主節(jié)點(diǎn)之后,客戶端通過哨兵可以連接上新的主節(jié)點(diǎn)
主節(jié)點(diǎn)和從節(jié)點(diǎn)之間通過同步寫命令來保持?jǐn)?shù)據(jù)一致(在啟動(dòng)的時(shí)候會(huì)立刻先同步主節(jié)點(diǎn)的快照,保存主節(jié)點(diǎn)的信息)
判斷節(jié)點(diǎn)是否宕機(jī)并且需要重啟需要幾個(gè)哨兵協(xié)同判斷,當(dāng)一定數(shù)量的哨兵(可配置) 認(rèn)為主節(jié)點(diǎn)宕機(jī)才會(huì)去升級(jí)從節(jié)點(diǎn)
接下來談?wù)剅edis的集群模式
redis集群從多主多從共同支撐,至少需要三個(gè)主節(jié)點(diǎn)才能啟動(dòng)集群
每個(gè)集群包含 16384個(gè)槽 ,每一個(gè)主(從節(jié)點(diǎn)負(fù)責(zé)同步主節(jié)點(diǎn)的數(shù)據(jù))負(fù)責(zé)存儲(chǔ)其中的某一個(gè)槽,redis 通過對(duì)key的hash 確定存儲(chǔ)在哪一個(gè)槽上面,
當(dāng)需要加入新的節(jié)點(diǎn)或者刪除節(jié)點(diǎn)的時(shí)候 ,redis 會(huì)去維護(hù)不同主節(jié)點(diǎn)上面的槽,從而重新分配槽的所屬
為什么redis哨兵集群只有2個(gè)節(jié)點(diǎn)無法正常工作?
哨兵集群必須部署2個(gè)以上節(jié)點(diǎn)
如果哨兵集群僅僅部署了個(gè)2個(gè)哨兵實(shí)例,quorum=1
Configuration: quorum = 1
master宕機(jī),s1和s2中只要有1個(gè)哨兵認(rèn)為master宕機(jī)就可以還行切換,同時(shí)s1和s2中會(huì)選舉出一個(gè)哨兵來執(zhí)行故障轉(zhuǎn)移
同時(shí)這個(gè)時(shí)候,需要majority,也就是大多數(shù)哨兵都是運(yùn)行的,2個(gè)哨兵的majority就是2(2的majority=2,3的majority=2,5的majority=3,4的majority=2),2個(gè)哨兵都運(yùn)行著,就可以允許執(zhí)行故障轉(zhuǎn)移
但是如果整個(gè)M1和S1運(yùn)行的機(jī)器宕機(jī)了,那么哨兵只有1個(gè)了,此時(shí)就沒有majority來允許執(zhí)行故障轉(zhuǎn)移,雖然另外一臺(tái)機(jī)器還有一個(gè)R1,但是故障轉(zhuǎn)移不會(huì)執(zhí)行
經(jīng)典的3節(jié)點(diǎn)哨兵集群
Configuration: quorum = 2,majority
如果M1所在機(jī)器宕機(jī)了,那么三個(gè)哨兵還剩下2個(gè),S2和S3可以一致認(rèn)為master宕機(jī),然后選舉出一個(gè)來執(zhí)行故障轉(zhuǎn)移
同時(shí)3個(gè)哨兵的majority是2,所以還剩下的2個(gè)哨兵運(yùn)行著,就可以允許執(zhí)行故障轉(zhuǎn)移
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。