`
huangyongxing310
  • 浏览: 498691 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

redis Sentinel工作原理

阅读更多
redis Sentinel工作原理


主从实现工作原理:
1.有一个作为第三方的软件,就是所谓的集群工具,如(zookeeper、redis Sentinel等)
2.有一个客户端应用,集成了订阅集群工具信息的接口(就是客户端应用要知道与那个提供服务的服务器进行信息交互,因为有主从服务器,所以要知道主的IP才可以)
3.提供服务的服务器(主从)与集群工具定时交互工作状态信息,当集群工具发现主机宕机时,会将从机设置为主机,并发布信息到订阅这个信息的客户端应用。
4.客户端应用接收到发布的消息就知道应该与那个服务器进行交互数据了。
5.主从自动切换原理基本是这样实现。
6.集群就是将数据按某种算法计算应该保存到那个服务器上,(如hash算法,对于请求可能会按随机算法进行分发(还可能按负载均衡、网络流量等进行分发),但要求同一key发送到同一个服务器的还是用hash算法)


1.Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。

主要功能有以下几点
1.不时地监控redis是否按照预期良好地运行;
2.如果发现某个redis节点运行出现状况,能够通知另外一个进程(例如它的客户端);
3.能够进行自动切换。当一个master节点不可用时,能够选举出master的多个slave(如果有超过一个slave的话)中的一个来作为新的master,其它的slave节点会将它所追随的master的地址改为被提升为master的slave的新地址。


Sentinel支持集群
1.只使用单个sentinel进程来监控redis集群是不可靠的,当sentinel进程宕掉后(sentinel本身也有单点问题,single-point-of-failure)整个集群系统将无法按照预期的方式运行。所以有必要将sentinel集群,这样有几个好处:
(1)即使有一些sentinel进程宕掉了,依然可以进行redis集群的主备切换;
(2)如果只有一个sentinel进程,如果这个进程运行出错,或者是网络堵塞,那么将无法实现redis集群的主备切换(单点问题);
(3)如果有多个sentinel,redis的客户端可以随意地连接任意一个sentinel来获得关于redis集群中的信息。


参考(Redis Sentinel机制与用法):http://www.cnblogs.com/zhoujinyi/p/5569462.html
分享到:
评论

相关推荐

    基于phpredis封装的redis-sentinel客户端redis-sentinel.zip

    示例:$sentinel = new \Jenner\RedisSentinel\Sentinel(); $sentinel->connect('127.0.0.1', 6379); $address = $sentinel->getMasterAddrByName('mymaster'); $redis = new Redis(); $redis->connect($...

    redis Sentinel模式详解.docx

    6. Redis Sentinel 的工作原理:Redis Sentinel 可以监控 Redis Server 服务是否正常,并自动地将备份(slave)Redis Server 启用,使得外部用户对 Redis 服务内部出现的异常无感知。 7. 搭建高可用 Redis 服务的...

    redis sentinel与redis cluster 集群配置

    在本篇文章中,我们将深入探讨这两个系统的工作原理、配置步骤以及它们各自的特点。 首先,让我们了解一下Redis Sentinel。Redis Sentinel是一个高可用性(HA)解决方案,它的主要任务是监控、提醒和自动故障转移。在...

    2、Redis sentinel原理及实现源码剖析-冯光普1

    在冯光普的演讲中,他详细解析了Sentinel的工作原理和源码实现。 Sentinel系统的核心特性包括: 1. **分布式集群**:Sentinel系统由多个Sentinel节点组成,它们共同监控主从结构的Redis集群,确保服务的高可用性。...

    Redis Sentinel主从高可用方案1

    **Sentinel 的主从切换原理**: 在 Redis 2.2.2 版本之后,Jedis 客户端增加了对 Sentinel 的支持。在主从切换发生时,由于原来的主服务器 IP 和端口不再有效,Jedis SentinelPool 类会自动检测并更新主服务器的新...

    Redis-Sentinel高可用架构学习

    3. Redis Sentinel(哨兵)的工作模式:Redis Sentinel的工作模式包括监控master服务器,检测master宕机,并自动将从服务器提升为新的master服务器。 4. Sentinel的监控机制:Sentinel以每秒钟一次的频率向它所知的...

    Redis 2.8.9 sentinel集群实验

    通过这个实验,我们可以深入理解Redis Sentinel的工作原理和实际操作,这对于构建高可用的Redis服务至关重要。Sentinel集群不仅提供故障检测,还负责协调恢复过程,确保在主节点故障时能够快速恢复服务,减少业务...

    Redis连接测试工程,支持Sentinel和Cluster模式,可直接运行

    Redis是一款高性能的键值数据库,常用于数据缓存、消息队列等场景。...为了更好地利用这个工程,你需要理解每种模式的工作原理,掌握Java中对应的API用法,并根据实际需求配置Redis服务器和客户端连接参数。

    Redis哨兵模式(Redis-Sentinel)实例配置.rar

    在这个实例配置中,我们将深入理解哨兵系统的工作原理,并学习如何设置和操作这个系统来增强Redis集群的稳定性。 首先,哨兵模式的核心功能包括: 1. **监控**:Sentinel系统会持续检查Redis主服务器和从服务器的...

    redis-sentinel介绍.rar

    理解Redis Sentinel的工作原理和配置是确保Redis服务稳定运行的关键。 1. **Sentinel的主要功能** - **监控**:Sentinel会持续检查主节点和从节点的运行状态,以及整个集群的健康状况。 - **通知**:当检测到...

    Redis 多机特性工作原理

    ### Redis 多机特性工作原理 #### 一、复制(Replication) Redis 的复制功能是其多机特性的重要组成部分之一,主要用于实现数据的高可用性和容错性。通过复制功能,一个 Redis 主服务器可以拥有一个或多个从...

    Redis教程-Redis哨兵(Sentinel).docx

    2. **哨兵工作原理**: Sentinel 系统由多个独立运行的哨兵进程组成,它们使用 gossip 协议交换信息,监控 Master、Slave 以及其它 Sentinel 的状态。同时,它们使用投票协议来决定何时进行故障迁移以及选择哪个从...

    Redis服务之高可用组件sentinel详解

    Sentinel的工作原理主要包括以下几个关键点: 1. 主从同步:在Redis的主从架构中,Master节点负责处理写请求,而Slave节点则复制Master的数据并处理读请求,实现数据备份和负载均衡。当Slave成为Master的副本时,...

    redis工作原理及单机主从集群版安装使用说明书

    Redis工作原理及单机主从集群版安装使用说明书 Redis是一个高性能的键值存储系统,由Salvatore Sanfilippo开发,使用ANSI C语言编写,遵循BSD协议,支持网络,能够基于内存运行并持久化到磁盘。Redis提供丰富的数据...

    Redis-master-slave-sentinel.rar

    2. **哨兵系统工作原理** - **监控**:Sentinel定时检查主从节点的健康状态。 - **通知**:当检测到故障时,Sentinel向其他Sentinel和应用发送通知。 - **故障转移**:选举新的主节点,并将从节点重新配置为主...

    Redis中Sentinel高可用解决方案.docx

    ### Redis Sentinel 高可用解决方案详解 #### 一、概述 Redis Sentinel 是一种高可用解决方案,旨在提高 ...通过对 Sentinel 架构和工作原理的深入了解,可以帮助开发者更好地利用这一工具来构建健壮的 Redis 集群。

    redis-2.8.19主从配置+sentinel主从切换+Java源码案例

    Redis是一款高性能的...这个案例可能还包括作者的理解注释,帮助理解代码逻辑和Redis的工作原理。通过实践这些代码,开发者可以更好地理解和掌握Redis的主从配置、Sentinel的使用以及如何在Java应用程序中集成Redis。

    redis-test:使用 sentinel 测试一些 redis 配置

    下面将详细介绍 Redis Sentinel 的工作原理、配置以及如何与 JavaScript 进行交互。 1. **Redis Sentinel 简介** Redis Sentinel 是 Redis 高可用性解决方案的关键组件,它可以监控主从集群的状态,当检测到主节点...

Global site tag (gtag.js) - Google Analytics