文章內(nèi)容輸出來源:拉勾教育Java高薪訓(xùn)練營
學(xué)習(xí)心得
課程介紹
第五階段 大型分布式系統(tǒng)緩存架構(gòu)進(jìn)階
模塊一 高性能分布式緩存Redis、分布式 Redis 解決方案Codis(Twemproxy替代方案)
模塊對Redis的持久化方案、刪除策略、IO多路復(fù)用模型、Redis集群模式、預(yù)熱、雪崩、擊穿、穿透等進(jìn)行系統(tǒng)剖析。
作業(yè)內(nèi)容
RedisCluster的安裝、部署、擴容和Java客戶端調(diào)用
如圖:
搭建Redis5.0集群,要求三主三從
能夠添加一主一從(Master4和Slaver4)
能夠通過JedisCluster向RedisCluster添加數(shù)據(jù)和取出數(shù)據(jù)
作業(yè)提交要求:
(1)1、2提交環(huán)境操作手冊
(2)3提交程序代碼
(3)視頻講解安裝手冊及程序代碼
課程目錄及觀看建議
2倍速模式
課程2小時
作業(yè)2小時
*** 必看
** 建議看
* 可不看
- 任務(wù)一:緩存原理&設(shè)計
- 任務(wù)二:Redis底層數(shù)據(jù)結(jié)構(gòu)
- 任務(wù)三:Redis通訊協(xié)議和事件處理機制
- 任務(wù)四:Redis持久化機制和擴展功能
- 任務(wù)五:Redis分布式高可用方案
- 主從復(fù)制之主從配置與作用(09:13)
- 主從復(fù)制之原理與實戰(zhàn)(上)(14:18)
- 主從復(fù)制之原理與實戰(zhàn)(下)(11:07)
- 哨兵模式之配置與實戰(zhàn)(上)(10:01)
- 哨兵模式之配置與實戰(zhàn)(中)(09:22)
- 哨兵模式之配置與實戰(zhàn)(下)(13:31)
- 哨兵模式之執(zhí)行流程剖析(16:56)
- 哨兵模式之哨兵leader選舉(08:37)
- 哨兵模式之故障轉(zhuǎn)移機制(05:04)
- 分區(qū)的意義與方式(15:30)
* - Client端分區(qū)實戰(zhàn)(上)(11:58)
- Client端分區(qū)實戰(zhàn)(下)(16:17)
- 官方Cluster分區(qū)部署架構(gòu)(上)(10:32)
** - 官方Cluster分區(qū)部署架構(gòu)(下)(12:28)
** - 官方Cluster分區(qū)集群環(huán)境構(gòu)建(21:16)
*** - 官方Cluster分區(qū)集群分片(上)(16:34)
*** - 官方Cluster分區(qū)集群分片(下)(18:51)
*** - 官方Cluster分區(qū)集群容災(zāi)(上)(11:35)
- 官方Cluster分區(qū)集群容災(zāi)(下)(09:09)
- Proxy端分區(qū)之codis集群架構(gòu)(07:38)
- Proxy端分區(qū)之codis集群實戰(zhàn)(上)(13:15)
- Proxy端分區(qū)之codis集群實戰(zhàn)(中)(13:15)
- Proxy端分區(qū)之codis集群實戰(zhàn)(下)(08:17)
- Proxy端分區(qū)之?dāng)U容&自動均衡(11:17)
- Proxy端分區(qū)之分片原理和槽位同步(06:37)
- Proxy端分區(qū)之優(yōu)缺點(04:47)
- 任務(wù)六:企業(yè)實戰(zhàn)和大廠面試
作業(yè)說明
軟件版本
最好和課程內(nèi)容版本保持一致,否則會遇到版本沖突問題
CentOS 7.7
Redis 5.0.5
JDK 11
Jedis 3.3.0
實現(xiàn)步驟
1. 搭建Redis5.0集群,要求三主三從
推薦使用一臺虛擬機,然后各個節(jié)點通過端口號部署
安裝Redis
- 安裝環(huán)境類庫(注意事項1)
yum -y install gcc gcc-c++ kernel-devel
- 配置Redis程序包(注意事項1)
make MALLOC=libc
配置集群環(huán)境
參照課程內(nèi)容啟動集群模式(注意事項2)
cd /usr/local/redis/redis-cluster/7001/bin
./redis-cli --cluster create 192.168.0.111:7001 192.168.0.111:7002 192.168.0.111:7003 192.168.0.111:7004 192.168.0.111:7005 192.168.0.111:7006 --cluster-replicas 1
2. 能夠添加一主一從(Master4和Slaver4)
參看課程內(nèi)容
3. 能夠通過JedisCluster向RedisCluster添加數(shù)據(jù)和取出數(shù)據(jù)
程序代碼課程講義06中有,也可以從網(wǎng)上搜索。(注意事項2)
注意事項
-
安裝環(huán)境
新裝CentOS7.7環(huán)境下make redis時需要安裝gcc,make install 前需要使用
make MALLOC=libc加載相應(yīng)類庫。 -
ip問題
服務(wù)器端配置操作中涉及到的ip地址統(tǒng)一采用局域網(wǎng)ip或外網(wǎng)ip,否則程序訪問時無法成功。比如不能使用127.0.0.1,因為外部訪問虛擬機時使用的ip為局域網(wǎng)的192.168.0.111。推測JedisCluster創(chuàng)建連接池時讀取了服務(wù)端nodes.conf中的ip配置信息。
序列化
使用java代碼的JedisCluster保存的數(shù)據(jù)會被編碼,生成的字符中會有額外字符,使用redis客戶端看到的key會有變化。比如"name"的key,set之后redis中保存的是"\x123\x456\x789name"。所以只能使用JedisCluster的get取值。
