Redis 集群是一種分布式的 Redis 解決方案,能夠在多個(gè)節(jié)點(diǎn)之間分片存儲(chǔ)數(shù)據(jù),實(shí)現(xiàn)水平擴(kuò)展和高可用性。與傳統(tǒng)的主從架構(gòu)不同,Redis 集群支持?jǐn)?shù)據(jù)自動(dòng)分片、主節(jié)點(diǎn)故障自動(dòng)切換,并可以在多臺(tái)服務(wù)器之間平衡負(fù)載,確保系統(tǒng)的高可用性和數(shù)據(jù)一致性
搭建 Redis 集群
1、購(gòu)買(mǎi)華為云 Flexus X 實(shí)例
Flexus云服務(wù)器X實(shí)例-華為云 (huaweicloud.com)
2、安裝 docker,并檢查安裝版本(此處我已安裝不做演示)
curl -fsSL https://get.docker.com | bashdocker -version

3、拉取 redis 鏡像
docker pull redis:6.0.8

4、使用 docker network create命令可以創(chuàng)建一個(gè)自定義的 Docker 網(wǎng)絡(luò),用于連接容器,創(chuàng)建 Redis 集群時(shí),容器需要在同一網(wǎng)絡(luò)中以便彼此通信
docker network create redis-cluster-net

5、啟動(dòng)了三個(gè) Redis 容器實(shí)例,每個(gè)實(shí)例位于自定義網(wǎng)絡(luò) redis-cluster-net中,且 Redis 集群模式已開(kāi)啟,作為主節(jié)點(diǎn)
dockerrun -itd--nameredis-master1 --networkredis-cluster-net -p6379:6379 -v/data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabledyes --appendonlyyes --port6379

dockerrun -itd--nameredis-master2 --networkredis-cluster-net -p6380:6379 -v/data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabledyes --appendonlyyes --port6379

dockerrun -itd--nameredis-master3 --networkredis-cluster-net -p6381:6379 -v/data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabledyes --appendonlyyes --port6379

6、啟動(dòng)了三個(gè) Redis 從節(jié)點(diǎn) redis-slave1, redis-slave2, redis-slave3,接下來(lái)需要將這些從節(jié)點(diǎn)加入到 Redis 集群中,指定它們分別作為主節(jié)點(diǎn)的從節(jié)點(diǎn)
dockerrun -itd--nameredis-slave1 --networkredis-cluster-net -p6382:6379 -v/data/redis/share/redis-slave-1:/data redis:6.0.8 --cluster-enabledyes --appendonlyyes --port6379

dockerrun -itd--nameredis-slave2 --networkredis-cluster-net -p6383:6379 -v/data/redis/share/redis-slave-2:/data redis:6.0.8 --cluster-enabledyes --appendonlyyes --port6379

dockerrun -itd--nameredis-slave3 --networkredis-cluster-net -p6384:6379 -v/data/redis/share/redis-slave-3:/data redis:6.0.8 --cluster-enabledyes --appendonlyyes --port6379

7、進(jìn)入之前的任意一個(gè)主節(jié)點(diǎn)容器,比如 redis-master1
dockerexec -itredis-master1 /bin/bash

8、使用 redis-cli連接到 Redis 集群并配置從節(jié)點(diǎn),需要知道每個(gè)主節(jié)點(diǎn)和從節(jié)點(diǎn)的容器 IP 地址或主機(jī)名,此處查詢?nèi)萜?IP 地址或主機(jī)名
dockerinspect redis-master1 |grepIPAddressdockerinspect redis-master2 |grepIPAddressdockerinspect redis-master3 |grepIPAddressdockerinspect redis-slave1 |grepIPAddressdockerinspect redis-slave2 |grepIPAddressdockerinspect redis-slave3 |grepIPAddress

9、將從節(jié)點(diǎn)添加到集群,創(chuàng)建 Redis 集群
redis-cli--clustercreate 172.18.0.2:6379 172.18.0.3:6379 172.18.0.4:6379 172.18.0.5:6379 172.18.0.6:6379 172.18.0.7:6379 --cluster-replicas1
redis-cli:
?Redis 的命令行工具,用于與 Redis 服務(wù)器進(jìn)行交互。
--cluster create:
?指示 redis-cli以集群模式創(chuàng)建 Redis 集群。
172.18.0.2:6379, 172.18.0.3:6379, 172.18.0.4:6379:
?這三個(gè) IP 地址和端口組合代表要添加到集群中的主節(jié)點(diǎn)。
?主節(jié)點(diǎn)負(fù)責(zé)處理寫(xiě)入和讀取請(qǐng)求。
172.18.0.5:6379, 172.18.0.6:6379, 172.18.0.7:6379:
?這三個(gè) IP 地址和端口組合代表要添加到集群中的從節(jié)點(diǎn)。
?從節(jié)點(diǎn)是主節(jié)點(diǎn)的數(shù)據(jù)副本,提供冗余和高可用性。
--cluster-replicas 1:
?指定每個(gè)主節(jié)點(diǎn)有一個(gè)從節(jié)點(diǎn)(副本)。這意味著在創(chuàng)建集群時(shí),Redis 將自動(dòng)為每個(gè)主節(jié)點(diǎn)分配一個(gè)從節(jié)點(diǎn)

10、檢查集群狀態(tài)
redis-cli-c-p6379 cluster nodes

?如上 redis 集群就算部署成功了,接下來(lái)可以實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和管理、集群管理、性能優(yōu)化等
數(shù)據(jù)存儲(chǔ)和管理
數(shù)據(jù)寫(xiě)入:使用 SET 和 GET 命令存儲(chǔ)和檢索數(shù)據(jù)
redis-cli-c-p6379 SET mykey "Hello, Redis!"redis-cli-c-p6379 GET mykey
數(shù)據(jù)結(jié)構(gòu): 利用 Redis 提供的多種數(shù)據(jù)結(jié)構(gòu)(如列表、集合、有序集合、哈希等)進(jìn)行復(fù)雜數(shù)據(jù)操作
集群管理
監(jiān)控集群狀態(tài): 使用 CLUSTER INFO 命令獲取集群的狀態(tài)信息
redis-cli-c-p6379 CLUSTER INFO
添加/刪除節(jié)點(diǎn): 根據(jù)需求,可以動(dòng)態(tài)地添加或移除節(jié)點(diǎn)
性能優(yōu)化
監(jiān)控性能: 使用 INFO 命令監(jiān)控 Redis 的性能指標(biāo),了解內(nèi)存使用、命令統(tǒng)計(jì)等
redis-cli-c-p6379 INFO
總結(jié)
華為云 Flexus X 實(shí)例上搭建 Docker 集成的 Redis 集群,體會(huì)到了云計(jì)算與容器技術(shù)的強(qiáng)大結(jié)合,繼續(xù)探索更復(fù)雜的架構(gòu),提升應(yīng)用的性能和可擴(kuò)展性,為發(fā)和運(yùn)維技能提升奠定了堅(jiān)實(shí)的基礎(chǔ),如果有小伙伴和我一樣需要持續(xù)學(xué)習(xí)可以一同購(gòu)買(mǎi)華為云 Flexus X 實(shí)例搭建案例學(xué)習(xí),此刻也是華為云 828 Flexus X 實(shí)例大力優(yōu)惠時(shí)刻,性價(jià)比非常高!
華為云828 Flexus X實(shí)例
審核編輯 黃宇
-
云服務(wù)器
+關(guān)注
關(guān)注
0文章
840瀏覽量
14743 -
Docker
+關(guān)注
關(guān)注
0文章
537瀏覽量
14392 -
華為云
+關(guān)注
關(guān)注
3文章
2835瀏覽量
19369
發(fā)布評(píng)論請(qǐng)先 登錄
OpenClaw搭建教程:云服務(wù)器一鍵部署完整流程
KubePi:開(kāi)源Kubernetes可視化管理面板,讓集群管理如此簡(jiǎn)單
零基礎(chǔ)如何用云服務(wù)器搭建網(wǎng)站?完整教程
硬件通脹下的生存戰(zhàn)!華為云Flexus X服務(wù)器,讓中小企業(yè)不做“接盤(pán)俠”
DRAM 暴漲 171%! 171% 下的企業(yè)突圍:華為云 Flexus X 云服務(wù)器成 IT 成本管控利器
什么是企業(yè)云服務(wù)器-云計(jì)算
云服務(wù)器端口怎么開(kāi)放?
香港服務(wù)器支持Docker和Kubernetes嗎?
Redis集群部署配置詳解
Redis集群部署與性能優(yōu)化實(shí)戰(zhàn)
恒訊科技分析:云儲(chǔ)存服務(wù)器搭建教程
ARM集群服務(wù)器 定義
云服務(wù)器和獨(dú)立服務(wù)器的區(qū)別在哪?一文讀懂如何選擇
云電競(jìng)服務(wù)器 工作原理
SoC集群服務(wù)器 與 ARM架構(gòu)陣列服務(wù)器 關(guān)系
云服務(wù)器 Flexus X 實(shí)例,Docker 集成搭建 Redis 集群
評(píng)論