【NoSQL】抛弃VIP,使用consul和sentinel构建redis的高可用系统
背景: 传统redis高可用方案只加了sentinel,在主库故障后,虽然可以选主,然后切换只读参数,但是,对 应用来说却需要更改连接的IP或者在hosts中更改解析。算得上是半自动。 利用consul系统的服务注册与服务健康检查功能可以实现全自动的故障切换与地址解析。 架构: 搭建: 1.建立consul集群,在redis节点上布置consul agent 2.建立sentinel集群 3.注册服务(重点) 首先在redis2222实例上新建redis主从检测脚本cat >/root/check/redis_role.sh<<EOF<br/>#!/bin/bash<br/>PORT=$1<br/>ROLE=$2<br/>a=$(redis-cli -p $PORT info Replication|grep role:|awk -F ':' '{print $2}'|awk -F '\r' '{print $1}' )<br/>if [ $a = $ROLE ]; then<b...



