一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

前期回顧

不瞭解Windows下怎麼部署最新版本Redis的童鞋請參考這篇筆記

一起聊聊Redis(1)——Windows使用最新版本Redis的正確姿勢

本節目的

  1. 瞭解Redis的複製
  2. 瞭解Redis的哨兵機制(Sentinel)
  3. Memurai和Redis在Windows下部署集群(關鍵目的
一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

1.Redis的複製

關於複製的原理性不鋪開來詳細講解,現在只是瞭解複製的概念

通過執行SLAVEOF命令或者設置slaveof選項,讓一個服務器去複製另一個服務器,被複制的為主服務器(Master),進行復制的是從服務器(Slave)。無論何時,當slave連接到master總會複製最為精確的副本,Redis使用默認的異步複製,其特點是高延遲和高性能。複製可以解決單機的機器故障,例如故障時候能夠數據儘可能不丟失,另外可以擴展讀的性能等等。

1.1設置主服務器(port:7000)

一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

1.2設置從服務器(port:7001)

從服務器7002也是這樣設置

一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

1.3啟動主從服務器

命令行下移動到主從服務器的根目錄下輸入

<code>

redis-server

.exe

redis

.windows

.conf

/<code>

1.4查看主從信息

一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

輸入命令info replication 可以看到主從信息,代表主從配置成功

1.5 主從複製後可以讀寫分離

一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

向端口7000服務器寫入key-value,hello world,在連接端口7001的客戶端可以訪問到數據

2.Redis的Sentinel(哨兵機制)

關於Sentinel的這裡也不再深入,只是瞭解一下該機制的實際用途

Sentinel保證了Redis多數據庫情況下的高可用性,以前當主從複製等多數據庫發生單機故障的時候,是需要手動實現故障轉移。Sentinel是一個特殊的Redis,也是一個獨立的進程,它可以監控master-slaver集群,在主服務器發生宕機後自動故障轉移。多個Sentinel組成Sentinel系統,有效解決單個Sentinel宕機的問題。

一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

放兩張經典的圖,來源Redis設計和實現

2.1 在上面一小節的基礎上(主從複製)添加兩個Sentinel作為Sentienl系統


一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

端口為27001的Sentinel也是這樣啟動

2.2 啟動Sentinel後配置文件會發生變化,此時由Sentinel監控master-slaver集群,當發生故障時候,在slaver裡面選舉新的master

一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

2.3 最後看看Redis-Cluster的目錄情況

一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

3.Memurai和Redis構造主從複製

之前的文章說過Memurai和Redis完全一致的,是Redis的Windows版本,在下面的例子可以再次驗證,當然查看Memurai的官網會發現有Api是與Redis不一樣的,但不影響使用。

一起聊聊Redis(2)——Windows下Redis最新版本高可用複製部署

上面只是驗證了一個從服務器的配置,其他的主服務器和Sentinel配置等都是同一個道理,再哆嗦多一次,Redis和Memurai是可以無縫連接的。

本次聊聊Redis就到這裡!!!Redis和Memurai的一些基本多數據庫配置的方法相信已經清楚了,關於複製和哨兵機制還有不少的細節,但本節內容不涉及。哈哈哈,有問題歡迎留言,下次再會!!


分享到:


相關文章: