成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Redis中主從、哨兵、分片集群入門篇

存儲 存儲軟件 Redis
redis的應用場景很多,不管是在數據存儲還是分布式鎖等方面,本篇文章主要對主從、哨兵、分片集群做一個簡單的分析,不會講的太深。

 redis的應用場景很多,不管是在數據存儲還是分布式鎖等方面,本篇文章主要對主從、哨兵、分片集群做一個簡單的分析,不會講的太深。

[[275757]]

主從模式

主從模式的應用場景有點類似于數據庫的主從集群,主從往往是為了讀寫分離、backup 等目的才使用的,所謂主從模式簡單的說就是有多個節點,里面包含主節點和從節點,結構如下圖:

 

Redis中主從、哨兵、分片集群入門篇

 

從節點在保持連接后每隔一個時間節點會主動的和主節點通信并發送同步請求,而后進行同步。

 

Redis中主從、哨兵、分片集群入門篇

 

其實在整個流程中,最需要主要的就是數據間的同步,主要的同步方式有兩種也就是全量同步和增量同步。

全量同步:全量同步一般使用在從節點剛接入主節點時進行全量復制,當然你也可以根據你的需求進行主動的全量同步

增量同步:Redis增量復制是指從節點初始化后開始正常工作時主服務器發生的寫操作同步到從服務器的過程。 增量復制的過程主要是主服務器每執行一個寫命令就會向從服務器發送相同的寫命令,從服務器接收并執行收到的寫命令,一般使用緩沖區、隊列(先進先出)等方式輔助進行增量的同步。

哨兵模式

哨兵模式是為了保證redis的高可用產生的架構,簡單地說就是通過構建1個或多個哨兵對節點進行監控,如果master發生故障下線之后,哨兵之間會進行投票,在2.8之后使用的是Raft算法進行master選舉,關于這個算法其實這個算法也應用于zookeeper和某些網絡拓撲中,簡單說就是在選舉的過程可通信節點達成共識后那個投票選舉master,而后進行故障轉移操作。

 

Redis中主從、哨兵、分片集群入門篇

 

哨兵是作為一個進程單獨運行在redis中,哨兵之間也是通過該進程進行通信的,這一點和zookeeper的原理也是類似的,假設一個6節點3個哨兵的集群的結構應該如下圖:

 

Redis中主從、哨兵、分片集群入門篇

 

那么哨兵是如何監控master下線的呢?

前面也有看到哨兵之間會進行集群的檢測和哨兵之間的互相監測,但是哨兵不用做什么配置,因為哨兵巧妙的利用了master的發布/訂閱機制去自動發現其它也監控了統一master的sentinel節點,在監測master方面一般分為兩種:

主觀下線(Subjectively Down, 簡稱 SDOWN)指的是單個 Sentinel 實例對服務器做出的下線判斷。

客觀下線(Objectively Down, 簡稱 ODOWN)指的是多個 Sentinel 實例在對同一個服務器做出 SDOWN 判斷, 并且通過命令互相交流之后, 得出的服務器下線判斷。 一個 Sentinel 可以通過向另一個 Sentinel 發送命令來詢問對方是否認為給定的服務器已下線。

分片集群

在上面的部分不管redis主從,還是高可用的 sentinel 哨兵模式。我們所做的這些工作只是保證了數據備份以及高可用,目前為止我們的程序一直都是向1臺redis寫數據,其他的redis只是備份而已。在實際使用中一般分片集群使用較多,我為什么要特意強調是分片集群呢,其實上面所說的主從和哨兵都是集群但是他們都是備份式的集群,實際數據是由一臺進行控制的,所謂分片其實是將不同的數據按照一定的分布規則分布在不同的機器上

 

Redis中主從、哨兵、分片集群入門篇

 

在redis中,我們的應用在存取數據的時候需要根據一定的算法(一致性hash)進行計算和存取 ,那么在redis中如何實現數據分片的呢? 首先Redis至少存在三個數據分片,每個分片稱為master,假設整個cluster有N個節點,那么每個節點都和其他N-1個節點保持連接和心跳,節點之間相互通信主要確認節點是否存活、節點的數據版本、投票選擇新的master等

 

Redis中主從、哨兵、分片集群入門篇

 

那么我們最終的集群結構大致如下:

 

Redis中主從、哨兵、分片集群入門篇

 

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2022-02-11 08:41:19

WindowsRedis集群

2023-10-26 07:47:53

Redis哨兵集群

2020-04-14 21:12:42

Redis集群Linux

2017-09-12 10:26:47

springbootmaven結構

2011-01-18 17:00:31

Postfix入門

2009-06-09 13:02:30

NetBeans使用教程

2020-11-16 10:19:33

Java

2016-09-06 17:43:12

SwiftCloudKit開發

2024-12-09 00:00:09

2023-09-27 06:26:07

2022-03-28 09:31:58

for循環語句

2020-11-13 07:22:46

Java基礎While

2015-07-30 09:43:10

獨立游戲開發入門

2022-01-27 09:35:45

whiledo-while循環Java基礎

2012-01-17 10:47:07

jQuery

2021-04-01 08:50:54

SentinelRedis 集群原理

2023-03-15 08:30:37

2022-07-06 07:57:37

Zookeeper分布式服務框架

2021-12-21 09:02:31

Matplotlib Python可視化

2020-11-19 10:36:16

Java基礎方法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久图文区 | 成人区一区二区三区 | 999久久久| 亚洲国产成人久久久 | 亚洲欧美视频一区二区 | 黑色丝袜三级在线播放 | 国产乱码精品一区二三赶尸艳谈 | 国产成人精品av | www.激情.com | 国产精品资源在线观看 | 一道本不卡 | www久久国产 | 成年人在线视频 | 先锋资源网 | 观看毛片 | 免费啪啪 | 成人h视频在线观看 | 国产成人精品久久二区二区 | 国产婷婷| 亚洲激情视频在线 | 欧洲亚洲一区二区三区 | 一级欧美一级日韩片免费观看 | 伊人春色成人 | 中文字幕1区 | 自拍偷拍第一页 | 亚洲精品在线免费观看视频 | 国产精品欧美日韩 | 国产精品99久久久精品免费观看 | 一区二区三区中文字幕 | 久久精彩视频 | 国产精品日韩欧美一区二区三区 | 精品国产91亚洲一区二区三区www | 国产日韩欧美一区二区在线播放 | 激情国产在线 | h视频免费在线观看 | 亚洲精品一二区 | 黑人粗黑大躁护士 | 国产高清在线精品 | 日本黄色影片在线观看 | 一本久久a久久精品亚洲 | 日韩av免费在线观看 |