Jedis主從切換實現

2021-07-04 15:30:49 字數 722 閱讀 4640

配置檔案示例:

127.0.0.1:6379|127.0.0.1:6380|127.0.0.1:6381|127.0.0.1:6382|127.0.0.1:6383
這裡,對每一行的配置會以「|」分隔。最前面的redis會作為主節點。後面的redis會作為最前面一台的備份jedis,存放在bakredismap(map)中。

先訪問主的jedis,如果丟擲jedisconnectionexception,則catch中將會逐次ping其備份的jedis,如果存在work的從redis(通過ping來確定),則返回對應的jedis例項,否則向外拋jedisconnectionexception。

具體**:

/**

* 從備份redis群中取出可用的jedis,如果均失敗,則丟擲異常。底層採用ping

* * @param bakjedisarray

* @param index

* @return

*/private final jedis getworkbakjedis(jedis curjedis, jedis bakjedisarray, int index)

} jedis bakjedis = bakjedisarray[index];

try catch (jedisconnectionexception e) else

} }

keepalived nginx主從切換

五 nginx指令碼,新建nginx check.sh指令碼放到 etc keepalived下 指令碼內容 bin bash a ps c nginx no header wc l if a eq 0 then usr local nginx sbin nginx sleep 2 if ps c ...

Jedis如何確認主從關係

在不配置哨兵的情況下,jedis無需確認主從關係。redis的主從複製讀寫分離那都是內部處理的,對外的使用做到呼叫方無感知。所以無論是用命令列去操作redis,還是利用jedis操作redis,都不需要呼叫方去判斷當前連線是主是從。哪怕我在從伺服器進行set操作,redis也會自動跳轉到主伺服器操作...

zookeeper主從服務切換

zookeeper使用curatorframework實現主從服務切換demo,下面github上的demo可以直接執行。demo使用springboot jdk1.8 zookeeper 3.4.12 demo主要實現了,當前服務部署在多台伺服器上時,需要其中一台來跑定時任務時,優先搶到leade...