好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > redis客戶端實現高可用讀寫分離的方式詳解

redis客戶端實現高可用讀寫分離的方式詳解

熱門標簽:魔獸2青云地圖標注 宿遷便宜外呼系統平臺 貴州電銷卡外呼系統 北京400電話辦理收費標準 十堰營銷電銷機器人哪家便宜 山東外呼銷售系統招商 超呼電話機器人 日本中國地圖標注 鄭州人工智能電銷機器人系統

背景

(1) redis單機的讀寫性能輕松上大幾萬,不過線上環境不會只部署光禿禿的一個節點,還是會配合 sentinel 再部署一個 slave作為高可用節點的;
但是standby的slave節點是不對外提供服務端的,一定程度上造成了浪費資源

(2) 當業務不斷發展,原來單節點緩存的數據(如,商品信息緩存、配置信息等)的查詢qps不斷升高(寫qps增長不多),突破十幾萬、幾十萬的的時候,此時一個節點就扛不住了,我們就需要增加幾個redis slaves節點來分擔這些查詢的壓力 也就是讀寫分離

但是,常用的 redis 客戶端jedis并不支持讀寫分離能力

實現方式

(1) 從配置中心獲取 master 和 slaves 的連接信息,分別初始化好一個連接master的寫連接池和一組slave的讀連接池
(2) 將命令進行分類:執行寫命令則從 master的連接池取連接然后執行,如果是讀命令則從slave的連接池中取出連接執行
可能有多個slave節點,可以按照一定的策略進行負載均衡(權重、隨機、輪詢...etc) 從其中一個 slave節點的連接池獲取連接

大概長這樣:

高可用版本

前面的實現方式正常情況下是可以的

但是:
(1) 如果運行期間 master掛了怎么辦? 如何自動 failover 切換?
(2) 如果流量突增,需要動態擴容一個或多個 slave節點,如何動態生效?

那就不能從配置文件取master和slaves的 ip+port 了,得從redis ha的組件去動態獲取 當前master 和可用slave列表的節點信息 => sentinel

1.初始化

向 sentinel 發送命令獲取master和slaves的節點信息

//獲取當前masterName標識的當前master節點信息,哨兵可監控多個 mater ha,所以要用masterName>區分
SENTINEL get-master-addr-by-name masterName>
//獲取可用的slaves列表信息
SENTINEL slaves masterName>

拿到連接后,繼續用開頭的方式去創建連接池就行了

2. 動態failover、擴容

初始化完畢后,在運行期間master節點,和slaves還是可能變化的, 如
(1) master故障、網絡分區,sentinel 提升一個slave為新的master
(2) 新增slave節點應對突增流量

我們如何能不重啟客戶端的情況下,動態切換?

sentinel 在進行master切換、slave變更等操作的時候都會向對應的 channel 發布事件,我們可以基于這些事件感知到相應的變化
參考: https://redis.io/topics/sentinel

2.1 failover切換 master

當 sentinel 進行master failover切換的時候,它會向channel: switch-master 發送通知,我們在客戶端訂閱這個channel,收到事件后,重新進行初始化的步驟即可

2.2 擴容slave

當新的 slave 節點加入, sentinel 感知到則會向channel: +slave 發布事件,我們監聽到后,重新獲取slaves節點信息重建slaves的連接池就可以了(這邊不涉及master的變化)

總結

基于 sentienl 獲取和動態感知 master、slaves節點信息的變化,我們的讀寫分離客戶端就能具備高可用+動態擴容感知能力了;

到此這篇關于redis客戶端實現高可用讀寫分離的文章就介紹到這了,更多相關redis讀寫分離內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Redis如何實現數據庫讀寫分離詳解
  • Redis主從實現讀寫分離
  • Redis讀寫分離搭建的完整步驟

標簽:大慶 北京 江蘇 楊凌 朝陽 臺州 果洛 吉安

巨人網絡通訊聲明:本文標題《redis客戶端實現高可用讀寫分離的方式詳解》,本文關鍵詞  redis,客戶端,實現,高可用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《redis客戶端實現高可用讀寫分離的方式詳解》相關的同類信息!
  • 本頁收集關于redis客戶端實現高可用讀寫分離的方式詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产女s调教男m视频免费视频| 小婷好湿?好紧?太爽了视频| 啊哈~嗯| 狠狠色噜噜狠狠狠狠97老肥女| a极毛片| 18以下勿进色禁永久视频| 国产特黄aaaaa毛片| 日本瑜伽电影| 国产日本在线| 日本japanesexxxx| 91在线精品一区二区| 欧美色综合图区| 91资源在线| 再往里一些电影| 痴女OL裤袜波多野结衣| 韩国毛片一区二区三区| 国产三级全黄| 疯狂婬荡交换做爰XXXⅩ下载| 国产精品v日韩精品v欧美精品网站| 小丹你就让我再进去一次吧 | 美女露出胸让男生狂揉| 美国式禁忌1-4电影在线观看| 日韩美一区二区| 老外毛片| AAA级A片毛片久久久网站| 调教女邻居| 越南女兵艳史k8电影| 国产精品免费久久久免费| 天天干夜夜欢| 偷自在线一区二区| 91丨国产丨精品丨丝袜| 青青91视频| 日本色老头| 尤物AV天堂一区二区在线观看 | 免费在线播放| 158大但人文艺术| 亚洲永久网站| 韩国主播夏娃19部合集| 日本在线精品| 天天做人人爱夜夜爽2020| 久久97久久|