Redis Sentinel
Redis Sentinel 在不使用Redis Cluster时为 Redis 提供高可用性。
Redis Sentinel 还提供其他附带任务,例如监控、通知并充当客户端的配置提供程序。
这是宏观层面(即大图)的 Sentinel 功能的完整列表:
监控。Sentinel 不断检查您的主实例和副本实例是否按预期工作。
通知。Sentinel 可以通过 API 通知系统管理员或其他计算机程序,其中一个受监控的 Redis 实例出现问题。
自动故障转移。如果 master 没有按预期工作,Sentinel 可以启动一个故障转移过程,其中一个副本被提升为 master,其他额外的副本被重新配置为使用新的 master,并且使用 Redis 服务器的应用程序被告知要使用的新地址连接时。
配置提供商。Sentinel 充当客户端服务发现的权威来源:客户端连接到 Sentinels 以询问负责给定服务的当前 Redis master 的地址。如果发生故障转移,Sentinels 将报告新地址。
搭建 Redis Sentinel 集群
Redis Sentinel 配置文件
# sentinel monitor <master-group-name> <ip> <port> <quorum>
sentinel monitor master-alpha redis-alpha 6379 2配置 Docker Compose 文件
version: '3'
services:
redis-alpha:
image: redis:latest
restart: unless-stopped
container_name: redis-alpha
networks:
redis_net:
ipv4_address: 172.20.0.2
ports:
- 6379:6379
volumes:
- ./data_alpha:/data
redis-bravo:
image: redis:latest
restart: unless-stopped
container_name: redis-bravo
networks:
redis_net:
ipv4_address: 172.20.0.3
ports:
- 6380:6379
volumes:
- ./data_bravo:/data
redis-charli:
image: redis:latest
restart: unless-stopped
container_name: redis-charli
networks:
redis_net:
ipv4_address: 172.20.0.4
ports:
- 6381:6379
volumes:
- ./data_charli:/data
redis-sentinel-alpha:
image: redis:latest
restart: unless-stopped
container_name: redis-sentinel-alpha
networks:
redis_net:
ipv4_address: 172.20.0.5
ports:
- 26379:26379
volumes:
- ./redis_sentinel_alpha.conf:/sentinel.conf
command: redis-sentinel /sentinel.conf
redis-sentinel-bravo:
image: redis:latest
restart: unless-stopped
container_name: redis-sentinel-bravo
networks:
redis_net:
ipv4_address: 172.20.0.6
ports:
- 26380:26379
volumes:
- ./redis_sentinel_bravo.conf:/sentinel.conf
command: redis-sentinel /sentinel.conf
redis-sentinel-charli:
image: redis:latest
restart: unless-stopped
container_name: redis-sentinel-charli
networks:
redis_net:
ipv4_address: 172.20.0.7
ports:
- 26381:26379
volumes:
- ./redis_sentinel_charli.conf:/sentinel.conf
command: redis-sentinel /sentinel.conf
networks:
redis_net:
ipam:
driver: default
config:
- subnet: "172.20.0.0/24"启动后中断 redis-alpha
等待故障恢复
恢复 redis-alpha
最后更新于