Redis集群与主从搭建技术探索(redis集群和主从搭建)
Redis集群与主从搭建技术探索
Redis是一款专为高性能而设计的内存对象非关系型数据库,可支持集群部署和主从复制两种架构的搭建。针对日常的数据库应用,在可行的情况下,应该优先使用主从复制,用于普通的读写请求,而使用Redis集群可以实现读写请求的分离,可以更有效的进行数据扩容和容错服务。
针对主从复制,需要在配置文件中设置master和slave信息,以下为配置示例:
# Master-Slave Replication
# 启用从服务slaveof
# 主服务protected-mode no #关闭受限模式
启用从服务是将从服务器绑定在主服务器上,保证主库的数据能够同步到从服务器上。从服务器的protected-mode设置要保持与主服务器一致,否则从服务器无法接收主服务器的数据。
Redis集群搭建相对于主从复制要繁琐一些,需要在各节点上创建一个配置文件,以下为配置示例:
# 三台master
port 6379cluster-enabled yes
cluster-config-file nodes-6379.confcluster-node-timeout 5000
appendonly yeslogfile "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-109229d9f1980080fec2266939b6c8fbf32783f6cc19a 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的集群及主从搭建术技术可以实现高性能、可靠的读写请求,并且能够更有效的进行数据扩容和容错服务,为系统的完整性和可用性保驾护航。
相关文章