基礎 refs理解 (給自己看的)
一、叢集知識
1.叢集的概念
所謂的叢集,就是通過新增伺服器的數量,提供相同的服務,從而讓伺服器達到一個穩定、高效的狀態。
2.使用redis叢集的必要性
問題:我們已經部署好了redis,並且能啟動一個redis,實現資料的讀寫,為什麼還要學習redis叢集?
答:(1)單個redis存在不穩定性。當redis服務宕機了,就沒有可用的服務了。
(2)單個redis的讀寫能力是有限的。
總結:redis叢集是為了強化redis的讀寫能力。
3.如何學習redis叢集
說明:(1)redis叢集中,每一個redis稱之為一個節點。
(2)redis叢集中,有兩種型別的節點:主節點(master)、從節點(slave)。
(3)redis叢集,是基於redis主從複製實現。
所以,學習redis叢集,就是從學習redis主從複製模型開始的。
二、準備工作
Redis下載地址:https://github.com/MicrosoftArchive/redis/releases
Ruby語言執行環境下載:https://rubyinstaller.org/downloads/
Redis的Ruby驅動redis-xxxx.gem下載:https://rubygems.org/pages/download
建立Redis叢集的工具redis-trib.rb:https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb
PS:以上所有工具關注最下方公眾號,點選軟體目錄,可以直接下載百度網盤
三、安裝配置Redis
1.下載Redis-x64-3.2.100.zip,點選下載Redis
要讓叢集正常運作至少需要3個主節點,建議配置3個主節點,其餘3個作為各個主節點的從節點(也是官網推薦的模式)。
所以需要6臺虛擬機器,本文配置了6個節點,根據您的需求合理安排。
主節點崩潰,從節點的Redis就會提升為主節點,代替原來的主節點工作,崩潰的主Redis恢復工作後,會再成為從節點。
2.建立Redis叢集目錄,把 redis 解壓後,再複製出 11份,配置 六主六從叢集。 由於 redis 預設埠號為 6379,那麼其它5份的埠可以為6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390並且把目錄使用埠號命名,如下圖示例:
3.修改配置檔案,開啟每個Redis目錄下的檔案redis.windows.conf,修改裡面的埠號分別對應相對應的資料夾名:6379、6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390再修改叢集支援配置,將以下配置前面的#去掉。
cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 15000 appendonly yes
cluster-config-file nodes-6379.conf是為該節點的配置資訊,這裡使用nodes-埠.conf命名方法。服務啟動後會在目錄生成該檔案。
4.編寫啟動指令碼,或者進入每個埠命名的資料夾下啟動服務,編寫一個bat來啟動redis,在每個節點目錄下建立startup.bat,內容如下:
title redis-6379
redis-server.exe redis.windows.conf
title命名規則redis-相對應的埠。
四、安裝Ruby
1. redis的叢集使用ruby指令碼編寫,所以系統需要有Ruby環境 ,點選下載Ruby環境
2.下載成功後,點選安裝,三個都要選上後下一步(安裝位置不要使用中文)。
五、安裝Redis的Ruby驅動redis-xxxx.gem
2.下載成功後,解壓當前目錄切換到解壓目錄中,如C:\Users\fuzongle\Desktop\redis叢集\redis-cluster\rubygems-3.1.4 然後命令列執行ruby setup.rb,
再用GEM安裝Redis:切換到redis安裝目錄,需要在命令列中,執行gem install redis
五 安裝叢集指令碼redis-trib
1.點選下載redis-trib.rb,開啟該連結把裡面的指令碼儲存為redis-trib.rb,建議儲存到一個Redis的目錄下(不用每個都放),例如放到6379目錄下。
redis-trib.rb叢集的命令為redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386 127.0.0.1:6387 127.0.0.1:6388 127.0.0.1:6389 127.0.0.1:6390
注意:--replicas 1 表示每個主資料庫擁有從資料庫個數為1。master節點不能少於3個,這裡我使用了6個主節點,6個從節點
2.啟動之後,可以看到主從庫地址,點選yes,下次就不需要重新執行這個命令了,直接啟動每個redis 即可。
六、連線叢集測試
下載redis客戶端連線即可
ps:如需瞭解工作原理可以看下這個挺好的:轉載:https://www.cnblogs.com/mengchunchen/p/10059436.html
注意:
1.如果有任何不懂的地方可以關注公眾號就可以加我微信,隨時歡迎互相幫助。
2.技術交流群QQ:422167709。
3.如果希望學習更多,希望微信掃碼,長按掃碼,幫忙關注一下,舉手之勞,當您無助的時候真的能幫你。非常感謝您關注公眾號 "程式設計小樂"。