Redis集群与主从搭建技术探索(redis集群和主从搭建)

Redis集群与主从搭建技术探索

Redis是一款专为高性能而设计的内存对象非关系型数据库,可支持集群部署和主从复制两种架构的搭建。针对日常的数据库应用,在可行的情况下,应该优先使用主从复制,用于普通的读写请求,而使用Redis集群可以实现读写请求的分离,可以更有效的进行数据扩容和容错服务。

针对主从复制,需要在配置文件中设置master和slave信息,以下为配置示例:

# Master-Slave Replication
# 启用从服务
slaveof
# 主服务
protected-mode no #关闭受限模式

启用从服务是将从服务器绑定在主服务器上,保证主库的数据能够同步到从服务器上。从服务器的protected-mode设置要保持与主服务器一致,否则从服务器无法接收主服务器的数据。

Redis集群搭建相对于主从复制要繁琐一些,需要在各节点上创建一个配置文件,以下为配置示例:

# 三台master
port 6379
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 5000
appendonly yes
logfile "redis-6379.log"

示例中的nodes-6379.conf为集群中的节点信息,在启动集群之前需要对每个节点的这个文件格式做一定的配置,其内容为:

76d82be9707ec459809995f0cad8ede6e61107c2 192.168.2.33:6379@16379 myself,master - 0 0 0 connected
ec00c8b399dc2901c07f94240661eb86f48cb2cb 192.168.2.34:6379@16379 master - 0 1475806010007 4 connected 5461-10922
9d9f1980080fec2266939b6c8fbf32783f6cc19a 192.168.2.35:6379@16379 master - 0 1475805961958 2 connected 10923-16383

其中节点以标识符、IP端口及节点状态构成,例如从上面示例中可以看出,IP地址为192.168.2.33:6379的节点是一个master节点,并且处于连接状态。

在启动之前,需要使用redis-trib.rb工具将所有的节点加入到集群中,以下为示例:

./redis-trib.rb create --replicas 1  192.168.2.33:6379  192.168.2.34:6379  192.168.2.35:6379

将在上述3台服务器上创建一个复制因子为1的Redis集群,即每个槽位上有一个主节点和一个备份节点。

Redis的集群及主从搭建术技术可以实现高性能、可靠的读写请求,并且能够更有效的进行数据扩容和容错服务,为系统的完整性和可用性保驾护航。


数据运维技术 » Redis集群与主从搭建技术探索(redis集群和主从搭建)