redis-集群

集群

容量不够,redis如何进行扩容? 并发写操作,redis如何分摊?另外?主从模式,薪火相传方式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址、端口等信息。

之前通过代理主机来解决,但是redis3.0中提供了解决方案,就是无中心化集群配置。

image-20221124112025067

无中心化集群配置

image-20221124113707367

什么是集群

redis集群实现了对redis的水平扩容,即启动N个redis节点,将整个数据库分析存储在这N个节点中,每个几点存储总数据的1/N。

redis集群通过分区来提供一定程度的可用性,即使集群有一部分节点失效或者无法进行通讯、集群也可以记着处理命令请求

配置模拟集群

修改redis6381.conf配置文件,添加一下命令:

cluster-enabled yes 打开集群模式

cluster-config-file nodes-6381.conf 设置节点配置文件名称

cluster-node-timeout 15000 设置节点失效的时间。超过该时间,集群自动进行主从切换

image-20221124115620918

启动服务器

image-20221124134934385

image-20221124135014256

合体命令

redis-cli --cluster create --cluster-replicas 1 六个服务器的ip:port 地址

image-20221124142129821

image-20221124145421725

命令

redis-cli -c -p 这个端口号可以随意一个主机

image-20221124145858984

redis cluster如何分配6个节点

一个集群至少要有三个主节点

分配原则尽量保证每个主数据库运行在不同的ip地址,每个从库和主库不在一个ip地址上

类似于os中的分片

set k1 v1

set k2 v2

image-20221124152130071

不支持多个kv

image-20221124152334570

容灾的处理

首先挂掉6382服务器

image-20221124172341847

posted @ 2022-11-26 10:54  wiselee/  阅读(21)  评论(0编辑  收藏  举报