http://wosyingjun.iteye.com/blog/2289593
监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。
Sentinel支持集群
很显然,只使用单个sentinel进程来监控redis集群是不可靠的,当sentinel进程宕掉后(sentinel本身也有单点问题,single-point-of-failure)整个集群系统将无法按照预期的方式运行。所以有必要将sentinel集群,这样有几个好处:
- 即使有一些sentinel进程宕掉了,依然可以进行redis集群的主备切换;
- 如果只有一个sentinel进程,如果这个进程运行出错,或者是网络堵塞,那么将无法实现redis集群的主备切换(单点问题);
- 如果有多个sentinel,redis的客户端可以随意地连接任意一个sentinel来获得关于redis集群中的信息。
Sentinel版本
Sentinel当前最新的稳定版本称为
Sentinel 2(与之前的
Sentinel 1区分开来)。随着redis2.8的安装包一起发行。安装完Redis2.8后,可以在
redis2.8/src/里面找到Redis-sentinel的启动程序。
sentinel_63791.conf 配置:
port 63791
daemonize yes
logfile "/var/log/sentinel_63791.log"
#master-1
sentinel monitor master-1 192.168.78.99 6379 2
sentinel down-after-milliseconds master-1 5000
sentinel failover-timeout master-1 18000
sentinel auth-pass master-1 yingjun
sentinel parallel-syncs master-1 1
sentinel_63792.conf 配置:
port 63792
daemonize yes
logfile "/var/log/sentinel_63792.log"
#master-1
sentinel monitor master-1 192.168.78.99 6379 2
sentinel down-after-milliseconds master-1 5000
sentinel failover-timeout master-1 18000
sentinel auth-pass master-1 yingjun
sentinel parallel-syncs master-1 1
redis_master_6379.conf 配置:
在原配置文件中作如下修改:
port 6379
daemonize yes
requirepass yingjun
masterauth yingjun
redis_slave_6380.conf 配置:
在原配置文件中作如下修改:
port 6380
daemonize yes
requirepass yingjun
slaveof 192.168.78.99 6379
masterauth yingjun
redis_slave_6381.conf 配置:
在原配置文件中作如下修改:
port 6381
daemonize yes
requirepass yingjun
slaveof 192.168.78.99 6379
masterauth yingjun
按如下顺序依次启动服务:
./redis-server ../conf/redis_master_6379.conf
./redis-server ../conf/redis_slave_6380.conf
./redis-server ../conf/redis_slave_6381.conf
./redis-sentinel ../conf/sentinel_63791.conf
./redis-sentinel ../conf/sentinel_63792.conf
三、Jedis Sentinel教程
Maven依赖:
redis.clientsjedis2.8.0org.springframework.dataspring-data-redis1.6.4.RELEASEredis的配置文件:
#redis config
redis.pass=yingjun
redis.pool.maxTotal=105
redis.pool.maxIdle=10
redis.pool.maxWaitMillis=60000
redis.pool.testOnBorrow=true
sentinel1.ip=192.168.78.99
sentinel1.port=63791
sentinel2.ip=192.168.78.99
sentinel2.port=63792
Spring的配置文件:
代码中直接用redisTemplate调用:
@Override
public boolean add(final KeyToken tkey) {
boolean result = redisTemplate.execute(new RedisCallback() {
@Override
public Boolean doInRedis(RedisConnection connection) throws DataAccessException {
RedisSerializer serializer = getRedisSerializer();
byte[] key = serializer.serialize(tkey.getIndex());
byte[] name = serializer.serialize(tkey.getExpire_time());
return connection.setNX(key, name);
}
});
return result;
}
分享到:
相关推荐
Redis的高可用架构主要通过主从复制和哨兵模式来实现。主从复制用于数据的热备份,而哨兵模式则可以监控Redis主从服务器的状态,并在主服务器出现故障时自动执行故障转移,将其中一个从服务器提升为主服务器,以保证...
Redis哨兵主从模式是指 Redis 的一种高可用性解决方案,通过哨兵模式实现自动故障切换和虚拟IP漂移,以提供高可用性的Redis服务。下面是相关知识点的详细解释: 一、Redis主从复制模式 Redis主从复制模式是一种...
Sentinel 是 Redis 的高可用解决方案之一,它可以自动监控主节点的状态,在主节点出现故障时自动完成从节点到主节点的角色转换,从而保障应用的持续可用性。 ##### 配置 Sentinel 实例 1. **配置 `sentinel.conf` ...
在这个场景下,主从模式和哨兵模式结合使用,可以构建出一套高效且可靠的 Redis 高可用解决方案。 1. **主从模式**: 主从模式是 Redis 提供的一种基础的高可用策略,它通过数据复制来实现读写分离。主节点负责...
1. **Redis主从复制**:这是基础的高可用方案,通过将数据实时同步到一个或多个从节点,即使主节点故障,从节点也能无缝接管服务。在Docker Compose文件中,我们需要定义三个服务,一个为主节点,两个为从节点,并...
1. 哨兵系统的作用:哨兵(Sentinel)是Redis提供的高可用性解决方案,它负责监控、故障检测、自动故障迁移和配置更新。 2. 监控与故障检测:哨兵持续监控主从节点的状态,如果发现主节点故障,会进行故障检测。...
Redis Sentinel是一个高可用性解决方案,用于监控、警告以及自动故障转移。哨兵系统会持续检查主从集群的状态,当检测到主节点失效时,会自动将从节点提升为主节点,并通知其他客户端更新连接信息。这样可以极大地...
当使用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-Sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现...
然后是哨兵(Sentinel)系统,这是Redis高可用性的重要组件。哨兵是一个分布式系统,负责监控主从集群的状态,进行故障检测、通知和自动故障迁移。当主服务器失效时,哨兵会根据预设的策略选择一个从服务器升级为主...
Redis集群是Redis的一种高可用性解决方案,通过主从复制、哨兵和集群三大技术模块来实现高可用性和可扩展性。本文将对Redis集群进行详细的介绍,包括Redis安装、主从复制、哨兵和集群的配置和实现。 一、Redis安装 ...
【Redis Sentinel哨兵集群详解】 Redis Sentinel是一种高可用性解决方案,它是Redis官方提供的一种分布式系统,专门用于监控Redis集群中的Master主服务器状态。在Master出现故障时,Sentinel能够自动进行故障转移,...
在大型分布式系统中,为了保证数据的高可用性和容错性,通常会采用主从复制(Replication)和哨兵(Sentinel)监控的架构。本教程将详细介绍如何在Linux环境下配置Redis的主从复制和哨兵系统。 一、Redis主从复制 ...
【windows】redis高可用主从+哨兵,有详细的word操作文档和已经配置好的主从文件,只需要把文件放在不同节点的电脑上按照word的说明进行更改就可以使用了,公司让我为新系统提供高可用真的是很折腾~~~
Redis Sentinel,或者称为哨兵系统,是Redis提供的一种高可用性解决方案,用于监控、故障检测以及自动故障恢复。哨兵模式旨在确保Redis集群在主服务器出现故障时能够自动切换到从服务器,保持服务的连续性。 一、...
Redis哨兵主从模式与Keepalived的组合是构建高可用、高可靠分布式系统的关键技术之一,尤其在Java开发环境中广泛使用。以下是对这一主题的详细解析。 **Redis哨兵(Sentinel)主从模式** Redis Sentinel是Redis提供...
Redis Sentinel是Redis高可用性(HA)解决方案的核心组件,它设计用于监控、故障检测以及自动故障转移主从架构中的主服务器。哨兵系统由多个独立的Sentinel实例组成,它们协同工作以确保在主服务器出现问题时,能够...
哨兵模式是Redis提供的高可用性解决方案,它可以监控主从节点的状态,当主节点故障时,哨兵会自动进行故障转移,将从节点提升为主节点,确保服务的连续性。哨兵系统由多个哨兵节点组成,它们之间通过 gossip 协议...
Redis Sentinel,或者称为哨兵模式,是Redis集群架构中的一个重要组成部分,主要用于实现高可用性(HA)。在单机模式下,Redis服务器一旦宕机,将会导致服务不可用,哨兵模式就是为了克服这个问题而设计的。它监控...
本文档将详细介绍 Redis 主从集群的搭建和容灾部署,使用哨兵(Sentinel)来实现高可用性和自动故障转移。 知识点1:Redis 安装 在开始搭建 Redis 主从集群之前,需要安装 Redis 服务端。下载 Redis 3.0.0-rc2 ...
### Redis 主从配置及哨兵模式详解 #### 一、实验环境 - **Redis 版本**: Redis 4.0.6 - **操作系统**: Linux (安装于虚拟机中) - **宿主主机**: Windows 10 x64 - **远程终端工具**: Xshell 5 #### 二、主从...