Redis高可用集群redis-cluster詳解
哨兵模式主要解決了手動(dòng)切換主從節(jié)點(diǎn)的問題
1 , 哨兵模式的缺陷
.主從節(jié)點(diǎn)切換的時(shí)候存在訪問瞬斷,等待時(shí)間較長(zhǎng),
.只有一個(gè)master節(jié)點(diǎn)提供寫,slave節(jié)點(diǎn)提供讀,盡管寫的效率是10萬/秒,在電商大促時(shí),寫的壓力全部集中在master節(jié)點(diǎn)上。
.master節(jié)點(diǎn)的內(nèi)存不能設(shè)置的太大,否則持久化文件過大,影響主從同步
2,redis-cluster集群模式
Redis Cluster是社區(qū)版推出的Redis分布式集群解決方案,主要解決Redis分布式方面的需求,比如,當(dāng)遇到單機(jī)內(nèi)存,并發(fā)和流量等瓶頸的時(shí)候,Redis Cluster能起到很好的負(fù)載均衡的目的。
Redis Cluster集群節(jié)點(diǎn)最小配置6個(gè)節(jié)點(diǎn)以上(3主3從),其中主節(jié)點(diǎn)提供讀寫操作,從節(jié)點(diǎn)作為備用節(jié)點(diǎn),不提供請(qǐng)求,只作為故障轉(zhuǎn)移使用。
優(yōu)點(diǎn):
1.沒有中心架構(gòu),有多個(gè)主節(jié)點(diǎn),每個(gè)主節(jié)點(diǎn)都可以讀寫
2,數(shù)據(jù)按照slot分布存儲(chǔ)在多個(gè)節(jié)點(diǎn),節(jié)點(diǎn)之間數(shù)據(jù)共享,可以動(dòng)態(tài)調(diào)整數(shù)據(jù)分布
3,可線性拓展到1000多個(gè)節(jié)點(diǎn),節(jié)點(diǎn)可以動(dòng)態(tài)新增和刪除
redis-cluster集群安裝
1,在redis安裝目錄下/opt/redis-4.0.6/創(chuàng)建redis-cluster目錄,在該目錄下面再創(chuàng)建6個(gè)目錄
,分別命名8001,8002,8003,8004,8005,8006。文件結(jié)構(gòu)如下
2, 將redis安裝目錄/usr/local/redis-4.0.6下的redis.conf文件拷貝至8001文件夾,并修改以下配置:
daemonize yes #開啟后臺(tái)運(yùn)行 port 8001 #工作端口 bind 172.16.0.15 #綁定機(jī)器的內(nèi)網(wǎng)IP,一定要設(shè)置呀老鐵,不要用127.0.0.1 dir /usr/local/redis-cluster/8001/ #指定工作目錄,rdb,aof持久化文件將會(huì)放在該目錄下,不同實(shí)例一定要配置不同的工作目錄 cluster-enabled yes #啟用集群模式 cluster-config-file nodes-8001.conf #生成的集群配置文件名稱,集群搭建成功后會(huì)自動(dòng)生成,在工作目錄下 cluster-node-timeout 5000 #節(jié)點(diǎn)宕機(jī)發(fā)現(xiàn)時(shí)間,可以理解為主節(jié)點(diǎn)宕機(jī)后從節(jié)點(diǎn)升級(jí)為主節(jié)點(diǎn)時(shí)間 appendonly yes #開啟AOF模式 pidfile /var/run/redis_8001.pid #pid file所在目錄
3. 把8001文件夾下的redis.conf文件拷貝到其他5個(gè)目錄,并重新修改port 、dir、cluster-config-file 三個(gè)屬性,這里可以使用sed命令快速修改
[root@VM_0_15_centos redis-cluster]# sed -i 's/8001/8002/g' 8002/redis.conf [root@VM_0_15_centos redis-cluster]# sed -i 's/8001/8003/g' 8003/redis.conf [root@VM_0_15_centos redis-cluster]# sed -i 's/8001/8004/g' 8004/redis.conf [root@VM_0_15_centos redis-cluster]# sed -i 's/8001/8005/g' 8005/redis.conf [root@VM_0_15_centos redis-cluster]# sed -i 's/8001/8006/g' 8006/redis.conf
4, 由于創(chuàng)建集群需要用到redis-trib這個(gè)命令,它依賴Ruby和RubyGems,因此我們要先安裝一下
百度網(wǎng)盤下載地址:
鏈接: https://pan.baidu.com/s/1WkQPakbXstinzCxRiyM5MQ?pwd=1ud4
提取碼: 1ud4
從這個(gè)鏈接下載 ruby-2.3.1.tar.gz 和 redis-3.3.0.gem
tar -zxvf ruby-2.3.1.tar.gz
a, cd ruby-2.3.1
b, ./configure -prefix=/opt/ruby
c, make && make install //過程會(huì)有點(diǎn)慢,大概5-10分鐘
d, 然后gem install -l redis-3.3.0.gem //若沒有g(shù)em需要安裝yum install gem -y
5 , Ruby安裝完成之后,我們開始啟動(dòng)6個(gè)節(jié)點(diǎn)
[root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8001/redis.conf [root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8002/redis.conf [root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8003/redis.conf [root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8004/redis.conf [root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8005/redis.conf [root@VM_0_15_centos redis-cluster]# ./src/redis-server redis-cluster/8006/redis.conf
6, 查看redis集群?jiǎn)?dòng)情況
[root@yangxXNJ-master ~]# ps -ef|grep redis root 28079 6654 0 22:23 pts/0 00:00:00 ./redis-server *:6379 root 28238 1 0 22:24 ? 00:00:04 ./src/redis-server 192.168.145.4:8001 [cluster] root 28517 1 0 22:25 ? 00:00:04 ./src/redis-server 192.168.145.4:8002 [cluster] root 28591 1 0 22:26 ? 00:00:04 ./src/redis-server 192.168.145.4:8003 [cluster] root 28662 1 0 22:26 ? 00:00:04 ./src/redis-server 192.168.145.4:8004 [cluster] root 28701 1 0 22:26 ? 00:00:04 ./src/redis-server 192.168.145.4:8005 [cluster] root 28718 1 0 22:26 ? 00:00:04 ./src/redis-server 192.168.145.4:8006 [cluster]
6個(gè)節(jié)點(diǎn)已經(jīng)正常啟動(dòng)
7,[root@VM_0_15_centos redis-4.0.6]# ./src/redis-trib.rb create --replicas 1 192.168.145.4:8001 192.168.145.4:8002 192.168.145.4:8003 192.168.145.4:8004 192.168.145.4:8005 192.168.145.4:8006
到此這篇關(guān)于Redis高可用集群redis-cluster的文章就介紹到這了,更多相關(guān)redis-cluster高可用集群內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redis中ServiceStack.Redis和StackExchange.Redis區(qū)別詳解
本文主要介紹了Redis中ServiceStack.Redis和StackExchange.Redis區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05redis實(shí)現(xiàn)計(jì)數(shù)器-防止刷單方法介紹
本文主要向大家介紹了redis實(shí)現(xiàn)計(jì)數(shù)器防止刷單的方法和有關(guān)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11ubuntu 16.04安裝redis的兩種方式教程詳解(apt和編譯方式)
這篇文章主要介紹了ubuntu 16.04安裝redis的兩種方式教程詳解(apt和編譯方式),需要的朋友可以參考下2018-03-03Redis實(shí)現(xiàn)分布式鎖和等待序列的方法示例
這篇文章主要介紹了Redis實(shí)現(xiàn)分布式鎖和等待序列的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06Windows環(huán)境下查看、添加、修改redis數(shù)據(jù)庫(kù)的密碼兩種方式
在Windows系統(tǒng)上設(shè)置Redis密碼的過程與Linux系統(tǒng)類似,但需注意幾個(gè)關(guān)鍵步驟以確保正確配置,這篇文章主要給大家介紹了關(guān)于Windows環(huán)境下查看、添加、修改redis數(shù)據(jù)庫(kù)的密碼兩種方式,需要的朋友可以參考下2024-07-07Redis實(shí)現(xiàn)登錄注冊(cè)的示例代碼
本文主要介紹了Redis實(shí)現(xiàn)登錄注冊(cè)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Redis使用ZSET實(shí)現(xiàn)消息隊(duì)列的項(xiàng)目實(shí)踐
本文主要介紹了Redis使用ZSET實(shí)現(xiàn)消息隊(duì)列的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07