網站首頁 編程語言 正文
哨兵模式主要解決了手動切換主從節點的問題
1 , 哨兵模式的缺陷
.主從節點切換的時候存在訪問瞬斷,等待時間較長,
.只有一個master節點提供寫,slave節點提供讀,盡管寫的效率是10萬/秒,在電商大促時,寫的壓力全部集中在master節點上。
.master節點的內存不能設置的太大,否則持久化文件過大,影響主從同步
2,redis-cluster集群模式
Redis Cluster是社區版推出的Redis分布式集群解決方案,主要解決Redis分布式方面的需求,比如,當遇到單機內存,并發和流量等瓶頸的時候,Redis Cluster能起到很好的負載均衡的目的。
Redis Cluster集群節點最小配置6個節點以上(3主3從),其中主節點提供讀寫操作,從節點作為備用節點,不提供請求,只作為故障轉移使用。
優點:
1.沒有中心架構,有多個主節點,每個主節點都可以讀寫
2,數據按照slot分布存儲在多個節點,節點之間數據共享,可以動態調整數據分布
3,可線性拓展到1000多個節點,節點可以動態新增和刪除
redis-cluster集群安裝
1,在redis安裝目錄下/opt/redis-4.0.6/創建redis-cluster目錄,在該目錄下面再創建6個目錄
,分別命名8001,8002,8003,8004,8005,8006。文件結構如下
2, 將redis安裝目錄/usr/local/redis-4.0.6下的redis.conf文件拷貝至8001文件夾,并修改以下配置:
daemonize yes #開啟后臺運行 port 8001 #工作端口 bind 172.16.0.15 #綁定機器的內網IP,一定要設置呀老鐵,不要用127.0.0.1 dir /usr/local/redis-cluster/8001/ #指定工作目錄,rdb,aof持久化文件將會放在該目錄下,不同實例一定要配置不同的工作目錄 cluster-enabled yes #啟用集群模式 cluster-config-file nodes-8001.conf #生成的集群配置文件名稱,集群搭建成功后會自動生成,在工作目錄下 cluster-node-timeout 5000 #節點宕機發現時間,可以理解為主節點宕機后從節點升級為主節點時間 appendonly yes #開啟AOF模式 pidfile /var/run/redis_8001.pid #pid file所在目錄
3. 把8001文件夾下的redis.conf文件拷貝到其他5個目錄,并重新修改port 、dir、cluster-config-file 三個屬性,這里可以使用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, 由于創建集群需要用到redis-trib這個命令,它依賴Ruby和RubyGems,因此我們要先安裝一下
百度網盤下載地址:
鏈接: https://pan.baidu.com/s/1WkQPakbXstinzCxRiyM5MQ?pwd=1ud4?
提取碼: 1ud4
從這個鏈接下載 ?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 ? //過程會有點慢,大概5-10分鐘
? d, ?然后gem install -l redis-3.3.0.gem ?//若沒有gem需要安裝yum install gem -y
5 ,?Ruby安裝完成之后,我們開始啟動6個節點
[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集群啟動情況
[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個節點已經正常啟動
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
原文鏈接:https://blog.csdn.net/weixin_37518151/article/details/123501927
相關推薦
- 2022-10-27 python中namedtuple函數的用法解析_python
- 2022-10-07 Go語言設計模式之實現觀察者模式解決代碼臃腫_Golang
- 2022-09-19 Tomcat10配置端口號為443(使用https訪問)_Tomcat
- 2022-10-21 C++?smart?pointer全面深入講解_C 語言
- 2022-03-29 Python函數裝飾器的使用詳解_python
- 2023-01-18 解讀Opencv中Filter2D函數的補全方式_python
- 2022-08-04 PyTorch中torch.manual_seed()的用法實例詳解_python
- 2022-08-01 C++簡單又好用的基本運算符重載_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支