概述
Redis 集群
可以在一组 redis
节点之间实现高可用性和 sharding
。在集群中会有 1 个 master
和多个slave
节点。当 master
节点失效时,应选举出一个slave
节点作为新的 master。然而 Redis 本身(包括它的很多客户端)没有实现自动故障发现并进行主备切换的能力,需要外部的监控方案来实现自动故障恢复。
Redis Sentinel
是官方推荐的高可用性解决方案。它是 Redis 集群的监控管理工具,可以提供节点监控、通知、自动故障恢复和客户端配置发现服务。
搭建 Redis 集群
搭建一主两从环境,docker-compose.yml
配置如下:
version: '2.0'
services:
master:
image: redis
container_name: redis-master
ports:
- 6379:6379
slave1:
image: redis
container_name: redis-slave-1
ports:
- 6380:6379
command: redis-server --slaveof redis-master 6379
slave2:
image: redis
container_name