国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Redis - Redis Sentinel的基本搭建

Redis Sentinel的基本搭建

2021-07-29 15:42AsiaYe Redis

這篇文章主要介紹了Redis Sentinel的使用,幫助大家更好的理解和學習使用Redis數據庫,感興趣的朋友可以了解下

redis sentinel的概念

 

   我們知道redis主從模式下,一旦主節點由于故障不能提供服務,需要人工將從節點晉升為主節點,同時還要通知應用方更新主節點的地址。然后在很多應用場景下這種故障處理的方式是無法接受的,應用程序需要實時感知當前的可用節點。為了解決這個問題,redis sentinel應運而生,也稱之為"哨兵"。

   介紹sentinel之前,先來了解幾個redis的概念,

主節點master:redis進程,主服務

從節點slave:redis進程,從服務

redis數據節點:主節點和從節點

sentinel節點:監控redis數據節點,獨立的sentinel進程

sentinel節點集合:若干sentinel節點的抽象組合,若干sentinel節點進程

redis sentinel:redis高可用實現方案,sentinel節點集合和redis數據節點進程

01 主從復制問題

 

前面的文章中我們講述了主從復制,可以將從節點作為主節點的災備節點,今天我們來看主從復制帶來的問題:

1、一旦主節點發生故障,從節點晉升為主節點的過程和應用調整新主節點的過程,都需要人為干預

2、主節點的寫能力容易受到單機的限制

3、主節點的存儲能力容易受到單機的限制

   一種常見的方法是使用腳本來觸發主從節點的角色切換,例如在一個一主兩從的結構中,假設主節點master,從節點slave1,slave2,我們來看故障發生時架構的狀態:

1、主節點master故障,客戶端連接失敗,兩個從節點復制失敗

2、選擇一個主節點slave1,對其執行slave of no one命令使其成為主節點master2

3、更新應用程序連接的節點為slave1的ip地址

4、slave2以slave1為新的主節點,復制slave1上的命令

5、待原來的master恢復之后,讓它成為slave1的從節點。

上述過程可以做成自動化的過程,但是需要考慮三點:a、要確保判斷節點不可達的機制健全,否則容易出現誤判斷情況

b、如果有多個從節點,如果保證只有一個從節點被晉升為主節點是個關鍵的問題

c、通知客戶端新的主節點的機制是否足夠健壯

02 redis sentinel的高可用機制

 

   sentinel能夠自動完成故障發現和故障轉移,并及時通知應用方。這是它的核心價值所在。

   redis sentinel是一個分布式架構,其中包含若干個sentinel和若干個redis數據節點,每個sentinel節點會對數據節點和其余sentinel節點進行監控,當它發現節點不可達時,會對節點做下線表示。如果被標識的是主節點,它還會和其他的sentinel進行協商,當大多數sentinel節點都認為主節點不可達時,他們會選舉出來一個sentinel節點來實現故障自動轉移,同時會將這個變化通知給redis應用方,整個過程是自動的,不需要人工介入。

redis sentinel與redis主從復制模式只是多了若干個sentinel節點,并沒有對redis節點做特殊處理,這是很多redis開發和運維人員容易混淆的地方。

二者架構圖如下:

Redis Sentinel的基本搭建

在整個主服務故障到重新選擇主服務的過程中,sentinel主要干如下幾件事情:

1、監控,sentinel節點會定期檢測redis數據節點,其余sentinel節點是否可達

2、通知,sentinel節點會將故障轉移的結果通知給應用方。

3、主節點故障轉移:實現從節點晉升為主節點并維護后續正確的主從關系

4、配置提供者:在redis sentinel結構中,客戶端在初始化的時候連接的是sentinel節點集合,從中獲取主節點信息

   上面的架構圖中不難發現sentinel也是多個的,這樣的好處有兩個:

1、可以保證sentinel的健壯性,一個sentinel掛了,不影響整個集群的功能。

2、對于節點的故障判斷是多個sentinel同時判斷出來的,有效的防止了誤判

    sentinel節點本身其實就是獨立的redis節點,只不過它們不存處數據,只支持部分命令。

    接下來,我們來看sentinel的部署和配置文件內容。

03 sentinel部署

 

    sentinel部署之前,需要先有master和兩個slave的一主兩從架構:

?
1
2
3
4
5
6
7
8
9
10
11
127.0.0.1:6379> info replication
# replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=169,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=169,lag=1
master_repl_offset:183
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:182

  sentinel的部署配置文件:

?
1
2
3
4
5
6
[root@vm_48_10_centos redis]# cat redis-sentinel-26379.conf 
port 26379
daemonize yes
logfile "26379.log"
dir "/usr/local/redis-3.0.7"
sentinel monitor mymaster 127.0.0.1 6379 2

  其中,sentinel monitor mymaster代表sentinel要監控主節點6379,2代表判斷主節點失敗至少需要2個sentinel節點同意。

  其余兩個sentinel的配置文件和這個大同小異,只需要修改對應端口和日志文件即可。sentinel啟動命令如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
[root@vm_48_10_centos redis]# redis-sentinel redis-sentinel-26379.conf &
[1] 7311
[root@vm_48_10_centos redis]# redis-sentinel redis-sentinel-26380.conf &
[1] 7366
[root@vm_48_10_centos redis]# redis-sentinel redis-sentinel-26381.conf &
[2] 7380
[root@vm_48_10_centos redis]
[root@vm_48_10_centos redis]# ps -ef|grep sentinel
root      7312     1  0 22:51 ?        00:00:00 redis-sentinel *:26379 [sentinel]
root      7367     1  0 22:52 ?        00:00:00 redis-sentinel *:26380 [sentinel]
root      7381     1  0 22:52 ?        00:00:00 redis-sentinel *:26381 [sentinel]
root      7405  5850  0 22:52 pts/7    00:00:00 grep --color=auto sentinel

此時,重新查看26379這個sentinel的配置文件,會發現里面多了一些內容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@vm_48_10_centos redis]# cat redis-sentinel-26379.conf 
port 26379
daemonize yes
logfile "26379.log"
dir "/usr/local/redis-3.0.7"
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel known-slave mymaster 127.0.0.1 6380
# generated by config rewrite
sentinel known-slave mymaster 127.0.0.1 6381
sentinel known-sentinel mymaster 127.0.0.1 26381 0a2c77616ef88282fa12ef7c8aca142a2473cd5a
sentinel known-sentinel mymaster 127.0.0.1 26380 3ad6460bf5f4b01f277fdce3aa423d596993eec5
sentinel current-epoch 0

   可以發現,sentinel之間已經進行了交互,并寫入了配置文件中一些已經獲取到的內容。

使用命令info sentinel查看當前sentinel集群的信息:

?
1
2
3
4
5
6
7
[root@vm_48_10_centos redis]# redis-cli -h 127.0.0.1 -p 26379 info sentinel
# sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
master0:name=mymaster,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3

以上就是redis sentinel的使用的詳細內容,更多關于redis sentinel的資料請關注服務器之家其它相關文章!

原文鏈接:https://mp.weixin.qq.com/s/3ZTUWCi2wAfCJ97bdzco9Q

延伸 · 閱讀

精彩推薦
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    這篇文章主要給大家介紹了關于redis中如何使用lua腳本讓你的靈活性提高5個逼格的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具...

    一線碼農5812019-11-18
  • RedisRedis的配置、啟動、操作和關閉方法

    Redis的配置、啟動、操作和關閉方法

    今天小編就為大家分享一篇Redis的配置、啟動、操作和關閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡5312019-11-14
  • Redisredis實現排行榜功能

    redis實現排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實現排行榜功能,本文就來簡單的介紹一下如何使用,具有一定的參考價值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    xiaojin21cen10152021-07-27
  • Redis詳解Redis復制原理

    詳解Redis復制原理

    與大多數db一樣,Redis也提供了復制機制,以滿足故障恢復和負載均衡等需求。復制也是Redis高可用的基礎,哨兵和集群都是建立在復制基礎上實現高可用的...

    李留廣10222021-08-09
  • RedisRedis如何實現數據庫讀寫分離詳解

    Redis如何實現數據庫讀寫分離詳解

    Redis的主從架構,能幫助我們實現讀多,寫少的情況,下面這篇文章主要給大家介紹了關于Redis如何實現數據庫讀寫分離的相關資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
  • RedisRedis 事務知識點相關總結

    Redis 事務知識點相關總結

    這篇文章主要介紹了Redis 事務相關總結,幫助大家更好的理解和學習使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • RedisRedis全量復制與部分復制示例詳解

    Redis全量復制與部分復制示例詳解

    這篇文章主要給大家介紹了關于Redis全量復制與部分復制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Redis爬蟲具有一定的參考學習...

    豆子先生5052019-11-27
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 爱逼色| 精品伦精品一区二区三区视频 | 最新中文字幕在线 | 黄色精品在线观看 | 欧美aⅴ| 久久免费精品 | 每日更新在线观看av | 亚洲情综合五月天 | 亚洲精品国产一区 | 自拍偷拍专区 | 欧美一区二区在线观看视频 | 国产在线看片 | 亚洲自拍小视频 | 欧美日韩国产精品一区 | 伊人久久在线 | 国产成人激情 | 亚色在线 | 国产免费天天看高清影视在线 | 国产永久免费在线观看 | 欧美大片一区二区 | 欧美日韩在线电影 | 欧美激情综合五月色丁香小说 | 91精品国产91久久久 | 日韩av一区二区在线观看 | 日韩精品在线播放 | 狠狠干最新网址 | 精品黄色国产 | 噜噜噜噜噜色 | 日韩福利在线 | 亚洲精品一区二区在线观看 | 精品99视频 | 99视频在线免费 | 国内精品在线视频 | 中文字幕亚洲精品 | 久久美女视频 | 一区二区三区免费在线观看 | 95香蕉视频| 欧美精品一区二区三区在线四季 | 日韩欧美在线一区二区 | 国产精品一级大片 | 欧洲亚洲精品久久久久 |