redis如何實現集群-創新互聯

這篇文章給大家分享的是有關redis如何實現集群的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

創新互聯公司2013年開創至今,是專業互聯網技術服務公司,擁有項目成都做網站、成都網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元巴州做網站,已為上家服務,為巴州各地企業和個人服務,聯系電話:028-86922220

1.主從復制

主從復制原理:

  • 從服務器連接主服務器,發送SYNC命令;

  • 主服務器接收到SYNC命名后,開始執行BGSAVE命令生成RDB文件并使用緩沖區記錄此后執行的所有寫命令;

  • 主服務器BGSAVE執行完后,向所有從服務器發送快照文件,并在發送期間繼續記錄被執行的寫命令;

  • 從服務器收到快照文件后丟棄所有舊數據,載入收到的快照;

  • 主服務器快照發送完畢后開始向從服務器發送緩沖區中的寫命令;

  • 從服務器完成對快照的載入,開始接收命令請求,并執行來自主服務器緩沖區的寫命令;(從服務器初始化完成

  • 主服務器每執行一個寫命令就會向從服務器發送相同的寫命令,從服務器接收并執行收到的寫命令(從服務器初始化完成后的操作

主從復制優缺點:

優點:

  • 支持主從復制,主機會自動將數據同步到從機,可以進行讀寫分離

  • 為了分載Master的讀操作壓力,Slave服務器可以為客戶端提供只讀操作的服務,寫服務仍然必須由Master來完成

  • Slave同樣可以接受其它Slaves的連接和同步請求,這樣可以有效的分載Master的同步壓力。

  • Master Server是以非阻塞的方式為Slaves提供服務。所以在Master-Slave同步期間,客戶端仍然可以提交查詢或修改請求。

  • Slave Server同樣是以非阻塞的方式完成數據同步。在同步期間,如果有客戶端提交查詢請求,Redis則返回同步之前的數據

缺點:

  • Redis不具備自動容錯和恢復功能,主機從機的宕機都會導致前端部分讀寫請求失敗,需要等待機器重啟或者手動切換前端的IP才能恢復。

  • 主機宕機,宕機前有部分數據未能及時同步到從機,切換IP后還會引入數據不一致的問題,降低了系統的可用性。

  • Redis較難支持在線擴容,在集群容量達到上限時在線擴容會變得很復雜。

2.哨兵模式

當主服務器中斷服務后,可以將一個從服務器升級為主服務器,以便繼續提供服務,但是這個過程需要人工手動來操作。 為此,Redis 2.8中提供了哨兵工具來實現自動化的系統監控和故障恢復功能。

哨兵的作用就是監控Redis系統的運行狀況。它的功能包括以下兩個。

(1)監控主服務器和從服務器是否正常運行。
  (2)主服務器出現故障時自動將從服務器轉換為主服務器。

哨兵的工作方式:

  • 每個Sentinel(哨兵)進程以每秒鐘一次的頻率向整個集群中的Master主服務器,Slave從服務器以及其他Sentinel(哨兵)進程發送一個 PING 命令。

  • 如果一個實例(instance)距離最后一次有效回復 PING 命令的時間超過 down-after-milliseconds 選項所指定的值, 則這個實例會被 Sentinel(哨兵)進程標記為主觀下線(SDOWN)

  • 如果一個Master主服務器被標記為主觀下線(SDOWN),則正在監視這個Master主服務器的所有 Sentinel(哨兵)進程要以每秒一次的頻率確認Master主服務器的確進入了主觀下線狀態

  • 當有足夠數量的 Sentinel(哨兵)進程(大于等于配置文件指定的值)在指定的時間范圍內確認Master主服務器進入了主觀下線狀態(SDOWN), 則Master主服務器會被標記為客觀下線(ODOWN)

  • 在一般情況下, 每個 Sentinel(哨兵)進程會以每 10 秒一次的頻率向集群中的所有Master主服務器、Slave從服務器發送 INFO 命令。

  • 當Master主服務器被 Sentinel(哨兵)進程標記為客觀下線(ODOWN)時,Sentinel(哨兵)進程向下線的 Master主服務器的所有 Slave從服務器發送 INFO 命令的頻率會從 10 秒一次改為每秒一次。

  • 若沒有足夠數量的 Sentinel(哨兵)進程同意 Master主服務器下線, Master主服務器的客觀下線狀態就會被移除。若 Master主服務器重新向 Sentinel(哨兵)進程發送 PING 命令返回有效回復,Master主服務器的主觀下線狀態就會被移除。

哨兵模式的優缺點

優點:

  • 哨兵模式是基于主從模式的,所有主從的優點,哨兵模式都具有。

  • 主從可以自動切換,系統更健壯,可用性更高。

缺點:

  • Redis較難支持在線擴容,在集群容量達到上限時在線擴容會變得很復雜。

3.Redis-Cluster集群

redis的哨兵模式基本已經可以實現高可用,讀寫分離 ,但是在這種模式下每臺redis服務器都存儲相同的數據,很浪費內存,所以在redis3.0上加入了cluster模式,實現的redis的分布式存儲,也就是說每臺redis節點上存儲不同的內容。

Redis-Cluster采用無中心結構,它的特點如下:

  • 所有的redis節點彼此互聯(PING-PONG機制),內部使用二進制協議優化傳輸速度和帶寬。

  • 節點的fail是通過集群中超過半數的節點檢測失效時才生效。

  • 客戶端與redis節點直連,不需要中間代理層.客戶端不需要連接集群所有節點,連接集群中任何一個可用節點即可。

工作方式:

在redis的每一個節點上,都有這么兩個東西,一個是插槽(slot),它的的取值范圍是:0-16383。還有一個就是cluster,可以理解為是一個集群管理的插件。當我們的存取的key到達的時候,redis會根據crc16的算法得出一個結果,然后把結果對 16384 求余數,這樣每個 key 都會對應一個編號在 0-16383 之間的哈希槽,通過這個值,去找到對應的插槽所對應的節點,然后直接自動跳轉到這個對應的節點上進行存取操作。

為了保證高可用,redis-cluster集群引入了主從模式,一個主節點對應一個或者多個從節點,當主節點宕機的時候,就會啟用從節點。當其它主節點ping一個主節點A時,如果半數以上的主節點與A通信超時,那么認為主節點A宕機了。如果主節點A和它的從節點A1都宕機了,那么該集群就無法再提供服務了。

感謝各位的閱讀!關于redis如何實現集群就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網站標題:redis如何實現集群-創新互聯
標題網址:http://m.kartarina.com/article42/cdcsec.html

成都網站建設公司_創新互聯,為您提供網站收錄手機網站建設做網站營銷型網站建設建站公司品牌網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

主站蜘蛛池模板: 中文字幕无码中文字幕有码| 人妻无码αv中文字幕久久| 日韩精品无码一区二区三区AV| 伊人蕉久中文字幕无码专区 | 国产精品无码一区二区三级 | 波多野结衣AV无码| 无码精品A∨在线观看| 国产成人无码av在线播放不卡| 国产亚洲精久久久久久无码| 无码天堂亚洲国产AV| 精品深夜AV无码一区二区| 国模无码人体一区二区 | 人妻老妇乱子伦精品无码专区 | 亚洲av成人中文无码专区| 国产AⅤ无码专区亚洲AV| 精品亚洲av无码一区二区柚蜜| 国产成人无码区免费网站| 精品久久久久久久无码久中文字幕| 亚洲av永久无码制服河南实里| 精品无码av无码专区| 无码人妻精品一区二区三区蜜桃| 日日摸夜夜爽无码毛片精选| 97无码免费人妻超级碰碰夜夜| 97久久精品亚洲中文字幕无码| 国产午夜鲁丝无码拍拍| 中文无码精品一区二区三区| 亚洲AV无码之日韩精品| 国产精品无码一本二本三本色| 精品久久久久久无码专区不卡| 无码AV中文字幕久久专区| 高h纯肉无码视频在线观看| 日韩精品无码人成视频手机| 成年无码av片完整版| 熟妇人妻系列av无码一区二区| 亚洲成av人片不卡无码久久| 无码专区国产无套粉嫩白浆内射 | 亚洲AV无码一区二区三区网址| 精品无码久久久久国产| 精品无码成人片一区二区98| 亚洲国产成人精品无码一区二区| 欧洲人妻丰满av无码久久不卡|