偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Spring Boot 如何快速集成 Redis 哨兵?

存儲 存儲軟件 Redis
Redis Sentinel 介紹Redis Sentinel:哨兵,放哨,看中文名字就知道它是一種 Redis 高可用解決方案,主要是針對 Redis 主從模式實現(xiàn)主從節(jié)點監(jiān)控、故障自動切換。

[[340467]]

Redis Sentinel 介紹

Redis Sentinel:哨兵,放哨,看中文名字就知道它是一種 Redis 高可用解決方案,主要是針對 Redis 主從模式實現(xiàn)主從節(jié)點監(jiān)控、故障自動切換。

沒有 Redis Sentinel 架構(gòu)之前,如果主節(jié)點掛了,需要運維人員手動進行主從切換,然后更新所有用到的 Redis IP 地址參數(shù)再重新啟動系統(tǒng),所有恢復(fù)操作都需要人為干預(yù),如果半夜掛了,如果系統(tǒng)很多,如果某個操作搞錯了,等等,這對運維人員來說簡直就是惡夢。

有了 Redis Sentinel,主從節(jié)點故障都是自動化切換,應(yīng)用程序參數(shù)什么也不用改,對于客戶端來說都是透明無縫切換的,運維人員再也不用擔驚受怕了。

如一個 1 主 3 從的 Redis 架構(gòu)如下:

 

加入 Redis 哨兵之后的架構(gòu)如下:

 

為了保證 Redis Sentinel 架構(gòu)自身的高可用性,自身也不能有單點,一般也要由 3 個或以上 Sentinel 節(jié)點組成,一起負責監(jiān)控主從節(jié)點,當大部分 Sentinel 節(jié)點認為主節(jié)點不可用時,會選一個 Sentinel 節(jié)點進行故障切換。

哨后架構(gòu)的搭建這里不展開了,大家可以移步公眾號Java技術(shù)棧,關(guān)于 Redis 單機、哨后、集群的搭建、以及往期 Redis 和 Spring Boot 集成、分布式鎖實戰(zhàn)教程等在公眾號Java技術(shù)棧后臺回復(fù)redis進行翻閱。

Spring Boot & Redis Sentinel 實戰(zhàn)

搞懂了 Redis 哨兵的用處之后,再來看一下 Spring Boot 如何快速集成 Redis Sentinel。

要知道如何自動配置 Redis Sentinel,除了看官方教程(不一定詳細),最好的方式就是看源碼了。

看過上篇的都知道 Spring Boot Redis 的默認客戶端是:Lettuce,我們再來看下 LettuceConnectionFactory 的自動配置源碼:

 

  1. org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration 

 

如源碼所示,我們可以知道 Redis 連接自動配置的優(yōu)先順序是:

Redis Sentinel(哨兵) > Redis Cluster(集群) > Standalone(單機)

哨兵模式優(yōu)先極是最高的,再來看下 getSentinelConfig 方法源碼:

 

master、sentinels 是必須參數(shù),password、SentinelPassword 是可選的,database 默認是第 0 個數(shù)據(jù)庫。

配置參數(shù)源碼:

 

  1. org.springframework.boot.autoconfigure.data.redis.RedisProperties.Sentinel 

 

所以,我們只需要提供 Redis Sentinel 的基本配置參數(shù)即可。

application.yml 配置如下:

 

  1. # 關(guān)注公眾號Java技術(shù)??锤?nbsp;
  2. spring: 
  3.   profiles: 
  4.     active: sentinel 
  5.  
  6. --- 
  7. spring: 
  8.   profiles: standalone 
  9.   redis: 
  10.     host: 192.168.1.110 
  11.     port: 6379 
  12.     password: redis2020 
  13.     database: 1 
  14.  
  15. --- 
  16. spring: 
  17.   profiles: sentinel 
  18.   redis: 
  19.     password: redis2020 
  20.     sentinel: 
  21.       master: mymaster 
  22.       nodes: 
  23.         - 192.168.1.110:26379 
  24.         - 192.168.1.111:26379 
  25.         - 192.168.1.112:26379 

這樣就能在單機和哨兵模式下切換,這是 yaml 配置的優(yōu)勢,一個文件搞定多套環(huán)境配置,不熟悉的關(guān)注公眾號Java技術(shù)棧閱讀我寫的 Spring Boot 系列文章,當然這里配置兩套只是為了測試,實際項目這樣做沒有意義。

配置成功后,該怎么使用還是怎么使用了,Redis Sentinel 對于客戶端來說是透明的。

本文轉(zhuǎn)載自微信公眾號「 Java技術(shù)棧」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系 Java技術(shù)棧公眾號。

 

責任編輯:武曉燕 來源: Java技術(shù)棧
相關(guān)推薦

2020-07-14 11:00:12

Spring BootRedisJava

2024-01-16 08:17:29

Mybatis驗證業(yè)務(wù)

2018-11-02 15:45:41

Spring BootRedis數(shù)據(jù)庫

2025-06-27 02:44:00

2021-12-28 11:13:05

安全認證 Spring Boot

2025-05-09 07:20:02

Spring數(shù)據(jù)庫檢索

2022-07-11 09:36:38

SpringJava開發(fā)

2025-07-02 07:33:02

Spring倒排索引分布式

2018-05-04 15:27:22

Spring Boo Web開發(fā)

2020-12-01 08:32:12

Spring Boot

2025-10-13 07:56:07

2024-09-27 08:25:47

2023-01-10 07:52:15

2025-01-23 08:53:15

2019-12-03 11:00:08

spring bootspring-kafkJava

2025-01-26 00:00:40

Seata分布式事務(wù)

2022-11-18 08:31:56

Spring日志工具

2024-07-16 08:38:06

2021-01-05 05:36:39

設(shè)計Spring Boot填充

2009-06-19 15:52:58

Struts和Spri
點贊
收藏

51CTO技術(shù)棧公眾號