yii2配置redis哨兵集群,主從變化自動切換

2021-10-24 16:40:20 字數 2172 閱讀 7847

redis的哨兵模式,在主伺服器掛掉後,會通過選舉將對應的從伺服器切換為主伺服器,以此來達到服務的高可用性。

在業務層面如果主從做了切換可能相對應的伺服器ip位址會發生改變,這樣會帶來程式的的正常執行。

為了不影響其業務,會考慮使用vip去實現ip的飄逸,但是在部分情況下,虛擬機器並不支援vip,這樣就無法保證業務的正常執行。所以在此情況下,通過業務本身來實現連線新的主的ip。

<?php 

/** * created by phpstorm.

* user: tianzhendong

* date: 2020/10/10

* time: 9:32 am

*/namespace

library\redis

;use

yii\base\exception

;class

sentinelredis

/** * 獲取redis主節點的例項

* @return bool|redis

* @throws exception

*/public

function

getinstansof()

return

false;}

/** * 獲取主節點的ip位址

* @return array

*/public

function

getmasterinfo()

return

$masterinfo;}

/** * 設定哨兵連線控制代碼

*/private

function

_getsentinelconn()

}/**

* 獲取redis控制代碼(如果是多主機,保證連線的是可用的哨兵伺服器)

* @param array $hosts

* @return null|redis

*/private

function

_rconnect

(array

$hosts

)else

}return

$redis;}

/** * redis 連線控制代碼

Yii2 配置yii2 redis擴充套件

前提 已經安裝redis。一 包檔案安裝 yiisoft yii2 redis extentions.php然後配置vender yiisoft extensions.php檔案 yiisoft yii2 redis array name yiisoft yii2 redis version 2.0...

Yii2 配置yii2 redis擴充套件

前提 已經安裝redis。一 包檔案安裝 yiisoft yii2 redis extentions.php 然後配置vender yiisoft extensions.php檔案 yiisoft yii2 redis array name yiisoft yii2 redis version 2....

redis之哨兵集群(2)

前面提到過,如果乙個哨兵在執行過程中發生故障,那麼是不是還能進行主從庫切換 實際上一旦多個例項組成了哨兵集群,即使有哨兵例項出現故障掛掉了,其他哨兵還能繼續協作完成主從庫切換的工作,包括判定主庫是不是處於下線狀態,選擇新主庫,以及通知從庫和客戶端。配置哨兵所用到的資訊 sentinel monito...