双主实例打造Redis集群完美高可用(redis集群双主实例)
MySQL作为存储事实上的标准,Redis服务则被用作存储瞬态数据,以其高速的读写特性征服了很多开发者的心,而通过双主实例的搭建,可以使Redis集群几乎从不掉线,实现高可用、高性能的集群体系。
先来介绍一下双主实例,这种架构下会搭建两台独立服务器,由Redis Sentinel工具对高可用实例进行配置和监测,有一台挂掉时 Sentinel 会投票决定另一台的实例是接管这个服务的主节点还是把其改为从节点。
接下来便是打造双主Redis集群的过程。
一、以 Redis5.0 version 版本在各台服务器上安装Redis,并做好相关配置如修改端口(6379)、密码等
示例配置文件:
bind 127.0.0.1
protected-mode no
port 6379
requirepass ‘hongk777’
二、安装Sentinel,配置Sentinel参数,如sentinel监听端口号(26379),sentinel qunorum规则等
示例Sentinel配置文件:
### Sentinel
sentinel monitor mymaster 172.100.100.100 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 1
sentinel flover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
三、分别启动Redis服务和Sentinel服务,并检验服务是否正常
四、同步节点,去除主从关系,使双主不断线,可以使用以下命令:
SLAVEOF NO ONE
双主实例的Redis集群就搭建好了,可以在不同的节点上部署不同的业务,实现了高可用和高性能的集群体系。