【原创】拉勾课程速推指南 第五阶段 大型分布式系统缓存架构进阶 模块一 高性能分布式缓存Redis、分布式 Redis 解决方案Codis

文章内容输出来源:拉勾教育Java高薪训练营

学习心得

【拉勾课程速推指南】学习心得

课程介绍

第五阶段 大型分布式系统缓存架构进阶
模块一 高性能分布式缓存Redis、分布式 Redis 解决方案Codis(Twemproxy替代方案)
模块对Redis的持久化方案、删除策略、IO多路复用模型、Redis集群模式、预热、雪崩、击穿、穿透等进行系统剖析。

作业内容

RedisCluster的安装、部署、扩容和Java客户端调用

如图:

  1. 搭建Redis5.0集群,要求三主三从

  2. 能够添加一主一从(Master4和Slaver4)

  3. 能够通过JedisCluster向RedisCluster添加数据和取出数据

  4. 作业提交要求:

(1)1、2提交环境操作手册

(2)3提交程序代码

(3)视频讲解安装手册及程序代码

课程目录及观看建议

2倍速模式
课程2小时
作业2小时
*** 必看
** 建议看
* 可不看

  • 任务一:缓存原理&设计
  • 任务二:Redis底层数据结构
  • 任务三:Redis通讯协议和事件处理机制
  • 任务四:Redis持久化机制和扩展功能
  • 任务五:Redis分布式高可用方案
  1. 主从复制之主从配置与作用(09:13)
  2. 主从复制之原理与实战(上)(14:18)
  3. 主从复制之原理与实战(下)(11:07)
  4. 哨兵模式之配置与实战(上)(10:01)
  5. 哨兵模式之配置与实战(中)(09:22)
  6. 哨兵模式之配置与实战(下)(13:31)
  7. 哨兵模式之执行流程剖析(16:56)
  8. 哨兵模式之哨兵leader选举(08:37)
  9. 哨兵模式之故障转移机制(05:04)
  10. 分区的意义与方式(15:30)*
  11. Client端分区实战(上)(11:58)
  12. Client端分区实战(下)(16:17)
  13. 官方Cluster分区部署架构(上)(10:32)**
  14. 官方Cluster分区部署架构(下)(12:28)**
  15. 官方Cluster分区集群环境构建(21:16)***
  16. 官方Cluster分区集群分片(上)(16:34)***
  17. 官方Cluster分区集群分片(下)(18:51)***
  18. 官方Cluster分区集群容灾(上)(11:35)
  19. 官方Cluster分区集群容灾(下)(09:09)
  20. Proxy端分区之codis集群架构(07:38)
  21. Proxy端分区之codis集群实战(上)(13:15)
  22. Proxy端分区之codis集群实战(中)(13:15)
  23. Proxy端分区之codis集群实战(下)(08:17)
  24. Proxy端分区之扩容&自动均衡(11:17)
  25. Proxy端分区之分片原理和槽位同步(06:37)
  26. Proxy端分区之优缺点(04:47)
  • 任务六:企业实战和大厂面试

作业说明

软件版本

最好和课程内容版本保持一致,否则会遇到版本冲突问题

CentOS 7.7
Redis 5.0.5
JDK 11
Jedis 3.3.0

实现步骤

1. 搭建Redis5.0集群,要求三主三从

推荐使用一台虚拟机,然后各个节点通过端口号部署

安装Redis

  1. 安装环境类库(注意事项1)
yum -y install gcc gcc-c++ kernel-devel
  1. 配置Redis程序包(注意事项1)
make MALLOC=libc
  1. 配置集群环境
    参照课程内容

  2. 启动集群模式(注意事项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)

参看课程内容

3. 能够通过JedisCluster向RedisCluster添加数据和取出数据

程序代码课程讲义06中有,也可以从网上搜索。(注意事项2)

注意事项

  1. 安装环境

    新装CentOS7.7环境下make redis时需要安装gcc,make install 前需要使用 make MALLOC=libc 加载相应类库。

  2. ip问题

    服务器端配置操作中涉及到的ip地址统一采用局域网ip或外网ip,否则程序访问时无法成功。比如不能使用127.0.0.1,因为外部访问虚拟机时使用的ip为局域网的192.168.0.111。推测JedisCluster创建连接池时读取了服务端nodes.conf中的ip配置信息。

  3. 序列化

使用java代码的JedisCluster保存的数据会被编码,生成的字符中会有额外字符,使用redis客户端看到的key会有变化。比如"name"的key,set之后redis中保存的是"\x123\x456\x789name"。所以只能使用JedisCluster的get取值。

你可能感兴趣的:(【原创】拉勾课程速推指南 第五阶段 大型分布式系统缓存架构进阶 模块一 高性能分布式缓存Redis、分布式 Redis 解决方案Codis)