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、購買華為云 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 集群模式已開啟,作為主節(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,接下來需要將這些從節(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é)處理寫入和讀取請(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 集群就算部署成功了,接下來可以實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和管理、集群管理、性能優(yōu)化等
數(shù)據(jù)存儲(chǔ)和管理
數(shù)據(jù)寫入:使用 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í)可以一同購買華為云 Flexus X 實(shí)例搭建案例學(xué)習(xí),此刻也是華為云 828 Flexus X 實(shí)例大力優(yōu)惠時(shí)刻,性價(jià)比非常高!
華為云828 Flexus X實(shí)例
審核編輯 黃宇
-
云服務(wù)器
+關(guān)注
關(guān)注
0文章
809瀏覽量
13831 -
Docker
+關(guān)注
關(guān)注
0文章
515瀏覽量
12956 -
華為云
+關(guān)注
關(guān)注
3文章
2771瀏覽量
18305
發(fā)布評(píng)論請(qǐng)先 登錄
云服務(wù)器 Flexus X 實(shí)例評(píng)測(cè)體驗(yàn)之搭建 Redis

云服務(wù)器 Flexus X 實(shí)例,Docker 集成搭建搭建 Flink

云服務(wù)器 Flexus X 實(shí)例,Docker 集成搭建 YesPlayMusic 網(wǎng)易云音樂播放器

云服務(wù)器 Flexus X 實(shí)例,Docker 集成搭建 Grafana 開源數(shù)據(jù)可視化平臺(tái)

華為云 Flexus X 實(shí)例 docker 部署 jdk21 最新版 jenkins 搭建自己的 devops 服務(wù)器

華為云 Flexus 云服務(wù)器 X 實(shí)例的使用教程

Flexus 云服務(wù)器 X 實(shí)例:在 Docker 環(huán)境下搭建 java 開發(fā)環(huán)境

基于華為云 Flexus 云服務(wù)器 X 實(shí)例部搭建 Halo 博客平臺(tái)

基于華為云 Flexus 云服務(wù)器 X 實(shí)例搭建 Linux 學(xué)習(xí)環(huán)境

評(píng)論