《架构之路Redis系列》Redis哨兵模式的搭建

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: redis哨兵模式是工作中常用的一种高可用模式,学会哨兵模式的配置会让你工作变得轻松。七夕了,难道你不想抽时间陪陪女朋友么?分享一篇以前博客写的文章,希望在这特殊的节日给大家带来收获。

一.哨兵模式

1.简介

Redis Sentinel是Redis官方提供的集群管理工具,可以部署在其他与redis集群可通讯的机器中监控redis集群。

2.特性

监控:能持续监控Redis的主从实例是否正常工作;

通知:当被监控的Redis实例出问题时,能通过API通知系统管理员或其他程序;

自动故障恢复:如果主实例无法正常工作,Sentinel将启动故障恢复机制把一个从实例提升为主实例,其他的从实例将会被重新配置到新的主实例,且应用程序会得到一个更换新地址的通知。

更多访问官方:https://redis.io/topics/sentinel

3.哨兵作用

(1).监控redis(master和slave)是否正常运行;

(2).当master运行出现状况,能够通知另外一个进程自动将slave切换成master。

4.应用场景

当使用redis做master-slave的高可用方案时,如果master宕机了,想自动进行主备切换,可以考虑使用哨兵模式。

二.实战演练

1.环境准备

(1).redis-3.2.9

(2).服务器三台(VMware下的unbutu)都装redis

Master:192.168.247.133

Slave1:192.168.247.134

Slave2:192.168.247.135

2.环境搭建

(1).按照《架构之路Redis系列》如何搭建Redis的主从复制文章,先配置好主从关系。

(2).配置哨兵文件sentinel.conf,分别修改下面几项,具体参数可以根据实际业务修改。

备注:我这里redis安装到/opt/redis-3.2.9/sentinel.conf

IP:Master:192.168.247.133

# sentinel monitor mymaster 127.0.0.1 6379 2
sentinel monitor xiangqubaMaster 192.168.247.133 6379 1

# sentinel down-after-milliseconds mymaster 30000
sentinel down-after-milliseconds xiangqubaMaster 30000

# sentinel config-epoch mymaster 1
sentinel config-epoch xiangqubaMaster 1

# sentinel parallel-syncs mymaster 1
sentinel parallel-syncs xiangqubaMaster 1

IP:Slave1:192.168.247.134

# sentinel monitor mymaster 127.0.0.1 6379 2
sentinel monitor xiangqubaMaster2 192.168.247.133 6379 2

# sentinel down-after-milliseconds mymaster 30000
sentinel down-after-milliseconds xiangqubaMaster2 30000

# sentinel config-epoch mymaster 1
sentinel config-epoch xiangqubaMaster2 1

# sentinel parallel-syncs mymaster 1
sentinel parallel-syncs xiangqubaMaster2 1

IP:Slave2:192.168.247.135

# sentinel monitor mymaster 127.0.0.1 6379 2
sentinel monitor xiangqubaMaster3 192.168.247.133 6379 1

# sentinel down-after-milliseconds mymaster 30000
sentinel down-after-milliseconds xiangqubaMaster3 30000

# sentinel config-epoch mymaster 1
sentinel config-epoch xiangqubaMaster3 1

# sentinel parallel-syncs mymaster 1
sentinel parallel-syncs xiangqubaMaster3 1

(3).启动

分别用下面命令启动三台服务器

a.启动redis服务

$ ./redis-server ../redis.conf

b.启动哨兵服务

$ ./redis-sentinel ../sentinel.conf

(4).测试

a.主机未挂前截图

bb7242f260844b6094fa3e359308a47537bd1636

aee40fe371810268c99e7841ccdacedf0e83c778

00dd43bb827bceefdd09f7ba4f5d3509f846698c

b.主机挂了后截图

f573868347a993285a57a989bcadb301920e772c

b8c76c7487f4a984eac541cae5385197c81ded94

0c6d5d0894277ca8d2b5193ec92d5ad50a8cee68

三.总结

关于哨兵模式的介绍就写到这里,工作中redis的哨兵模式是经常会用到的,所以这块的配置希望读者能 有所掌握。

个人博客原文:https://www.xiangquba.cn/2017/07/26/redis-sentinel/

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
存储 缓存 NoSQL
【赵渝强老师】基于Redis的旁路缓存架构
本文介绍了引入缓存后的系统架构,通过缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。文中提供了相关图片和视频讲解,并讨论了数据库读写分离、分库分表等方法来减轻数据库压力。同时,文章也指出了缓存可能带来的复杂度增加、成本提高和数据一致性问题。
【赵渝强老师】基于Redis的旁路缓存架构
|
27天前
|
NoSQL Java 数据处理
基于Redis海量数据场景分布式ID架构实践
【11月更文挑战第30天】在现代分布式系统中,生成全局唯一的ID是一个常见且重要的需求。在微服务架构中,各个服务可能需要生成唯一标识符,如用户ID、订单ID等。传统的自增ID已经无法满足在集群环境下保持唯一性的要求,而分布式ID解决方案能够确保即使在多个实例间也能生成全局唯一的标识符。本文将深入探讨如何利用Redis实现分布式ID生成,并通过Java语言展示多个示例,同时分析每个实践方案的优缺点。
60 8
|
1月前
|
消息中间件 NoSQL Redis
【赵渝强老师】Redis消息的生产者消费者模式
消息队列在Redis中可通过List数据结构实现,支持发布者订阅者和生产者消费者两种模式。生产者通过`lpush`向List添加消息,消费者通过`rpop`或`brpop`消费消息,后者支持阻塞等待。示例代码展示了如何使用Redis的生产者消费者模式。
|
2月前
|
监控 NoSQL 算法
Redis Sentinel(哨兵)详解
Redis Sentinel(哨兵)详解
156 4
|
2月前
|
存储 缓存 NoSQL
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
75 4
|
2月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
45 3
|
2月前
|
SQL 分布式计算 NoSQL
大数据-42 Redis 功能扩展 发布/订阅模式 事务相关的内容 Redis弱事务
大数据-42 Redis 功能扩展 发布/订阅模式 事务相关的内容 Redis弱事务
30 2
|
2月前
|
存储 缓存 NoSQL
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
72 1
|
3月前
|
存储 NoSQL Redis
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
Redis持久化、RDB和AOF方案、Redis主从集群、哨兵、分片集群、散列插槽、自动手动故障转移
SpringCloud基础7——Redis分布式缓存,RDB,AOF持久化+主从+哨兵+分片集群
|
4月前
|
运维 监控 NoSQL
【Redis】哨兵(Sentinel)原理与实战全解~炒鸡简单啊
Redis 的哨兵模式(Sentinel)是一种用于实现高可用性的机制。它通过监控主节点和从节点,并在主节点故障时自动进行切换,确保集群持续提供服务。哨兵模式包括主节点、从节点和哨兵实例,具备监控、通知、自动故障转移等功能,能显著提高系统的稳定性和可靠性。本文详细介绍了哨兵模式的组成、功能、工作机制以及其优势和局限性,并提供了单实例的安装和配置步骤,包括系统优化、安装、配置、启停管理和性能监控等。此外,还介绍了如何配置主从复制和哨兵,确保在故障时能够自动切换并恢复服务。