redis问题:三种集群——主从、哨兵、cluster集群;16384槽等

目录

redis三种集群模式

1、主从

2、哨兵(Sentinel)

3、集群(Cluster)

Redis Cluster为什么有16384个槽?

1、8KB的心跳包太大

2、集群的数量不会超过1000。

主从配置和集群配置区别

1、主从

2、集群


redis三种集群模式

1、主从

读写分离。master写,slave读。通常是一主二从。主服务器宕机,需要人工去切换。

2、哨兵(Sentinel)

哨兵是主从的2.0版,主服务器宕机,可以自动切换。

3、集群(Cluster)

主从和哨兵,都是只有一个主节点,主节点负责写入,这就会存在性能瓶颈。这时候就需要多主多从。节点之间通过gossip 协议同步数据。数据分片(sharding)16384个哈希槽。

redis三种集群模式--主从、哨兵、cluster集群的区别_redis主从和哨兵的区别_ayu_programer的博客-CSDN博客

Redis Cluster为什么有16384个槽?

如下表,一看便知,16384的单位是bit,即2KB。 

bit 16384
Byte 2048
KB 2

Redis 集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽,集群的每个节点负责一部分hash槽。 

1、8KB的心跳包太大

CRC16算法最多可以分配65535。65535bit = 8KB,8KB的心跳包,太大了。redis集群不会有超过1000个master节点,所以16k(16000)的槽位是个比较合适的选择

2、集群的数量不会超过1000。

集群节点越多,心跳包的消息体内携带的数据越多。如果节点过1000个,也会导致网络拥堵。因此redis作者,不建议redis cluster节点数量超过1000个。 

Redis Cluster为什么有16384个槽?_李树江的博客-CSDN博客

主从配置和集群配置区别

1、主从

master 主服务器
requirepass password

slave 从服务器
masterauth password
requirepass password (这个可以不配)


requirepass 是客户端访问redis需要的密码,所以master这台需要配。slave可配可不配
masterauth 是slave访问master需要的密码。所以salve需要配。

 

2、集群

每个节点
masterauth password
requirepass password

每个节点都需要配置这两个

 

redis的主从搭建和密码配置_redis主从如果存在密码如何配置_万wu皆可爱的博客-CSDN博客

====================分割线======================= 

文章到此已结束,以下是紫薯布丁

master 主服务器
requirepass password

slave 从服务器
masterauth password
requirepass password (这个可以不配)


requirepass 是客户端访问redis需要的密码,所以master这台需要配。slave可配可不配
masterauth 是slave访问master需要的密码。所以salve需要配。

你可能感兴趣的:(redis,redis,java,主从,集群,配置)