第1集 Redis6.X节点高可用之Cluster集群介绍
简介: Redis6.X节点高可用之Cluster集群介绍
背景
什么是集群Cluster
例子:小滴课堂-老王,去银行存钱
Anna小姐姐是窗口一的工作人员,包括取号、开户、存钱、挂失、对公业务等等
问题一
问题二
Redis集群模式介绍
第2集 Redis6.X节点高可用之Cluster数据分片和虚拟哈希槽介绍
简介: Redis6.X节点高可用之Cluster数据分片和虚拟哈希槽介绍
背景
常见的数据分区算法
哈希取模
范围分片
一致性Hash分区
redis cluster集群没有采用一致性哈希方案,而是采用【数据分片】中的哈希槽来进行数据存储与读取的
什么是Redis的哈希槽 slot
Redis集群预分好16384个槽,当需要在 Redis 集群中放置一个 key-value 时,根据 CRC16(key) mod 16384的值,决定将一个key放到哪个桶中
大体流程
假设主节点的数量为3,将16384个槽位按照【用户自己的规则】去分配这3个节点,每个节点复制一部分槽位
存储查找
使用哈希槽的好处就在于可以方便的添加或移除节点。
第3集 Redis6.X节点高可用之Cluster集群环境准备
简介: Redis6.X节点高可用之Cluster集群环境准备
说明
注意点:
节点(网络安全组开放端口)
bind 0.0.0.0
port 6381
daemonize yes
requirepass "123456"
logfile "/usr/local/redis/log/redis1.log"
dbfilename "xdclass1.rdb"
dir "/usr/local/redis/data"
appendonly yes
appendfilename "appendonly1.aof"
masterauth "123456"
#是否开启集群
cluster-enabled yes
# 生成的node文件,记录集群节点信息,默认为nodes.conf,防止冲突,改为nodes-6381.conf
cluster-config-file nodes-6381.conf
#节点连接超时时间
cluster-node-timeout 20000
#集群节点的ip,当前节点的ip
cluster-announce-ip 172.18.172.109
#集群节点映射端口
cluster-announce-port 6381
#集群节点总线端口,节点之间互相通信,常规端口+1万
cluster-announce-bus-port 16381
bind 0.0.0.0
port 6386
daemonize yes
requirepass "123456"
logfile "/usr/local/redis/log/redis6.log"
dbfilename "xdclass6.rdb"
dir "/usr/local/redis/data"
appendonly yes
appendfilename "appendonly6.aof"
masterauth "123456"
cluster-enabled yes
cluster-config-file nodes-6386.conf
cluster-node-timeout 20000
cluster-announce-ip 172.18.172.109
cluster-announce-port 6386
cluster-announce-bus-port
第4集 Redis6.X节点高可用之Cluster集群三主三从搭建实战
简介: Redis6.X节点高可用之Cluster集群三主三从搭建实战
./redis-server ../conf/cluster/redis1.conf
./redis-server ../conf/cluster/redis2.conf
./redis-server ../conf/cluster/redis3.conf
./redis-server ../conf/cluster/redis4.conf
./redis-server ../conf/cluster/redis5.conf
./redis-server ../conf/cluster/redis6.conf
加入集群(其中一个节点执行即可)
./redis-cli -a 123456 --cluster create 172.18.172.109:6381 172.18.172.109:6382 172.18.172.109:6383 172.18.172.109:6384 172.18.172.109:6385 172.18.172.109:6386 --cluster-replicas 1
./redis-cli -a 123456 --cluster check 172.18.172.109:6381
第5集 Redis6.X节点高可用之Cluster集群读写命令实战
简介: Redis6.X节点高可用之Cluster集群读写命令
./redis-cli -c -a 123456 -p 6379
#集群信息
cluster info
#节点信息
cluster nodes
测试集群读写命令set/get
操作都是主节点操作,从节点只是备份
流程解析
启动应用
加入集群
从节点请求复制主节点(主从复制一样)
第6集 Redis6.X节点高可用之Cluster集群整合SpringBoot2.X
简介: Redis6.X节点高可用之Cluster集群整合SpringBoot2.X
不在同个网络,所以集群改为阿里云公网ip地址才可以访问
动态修改配置
#对外的ip
cluster-announce-ip 8.129.113.233
#对外端口
cluster-announce-port
#集群桥接端口
cluster-announce-bus-por
连接池添加 (之前添加)
org.apache.commons
commons-pool2
cluster:
#命名的最多转发次数
max-redirects: 3
nodes: 8.129.113.233:6381,8.129.113.233:6382,8.129.113.233:6383,8.129.113.233:6384,8.129.113.233:6385,8.129.113.233:6386
第7集 Redis6.X高可用之Cluster集群故障自动转移实战和总结
简介: Redis6.X节点高可用之Cluster集群故障自动转移实战
流程
命令
./redis-cli -c -a 123456 -p 6381
#集群信息
cluster info
#节点信息
cluster nodes
高可用架构总结