哨兵

windows下最完整的springboot整合redis哨兵模式

不想你离开。 提交于 2019-12-17 12:44:16
windows下最完整的springboot整合redis哨兵模式 因为在自己学习redis的时候,有密码配置redis哨兵模式出现了很多状况,就当练练手,记录一下此次的经历,redis我就不介绍了,直接进入主题: (一)我先说下思路 ①:配置redis配置文件、哨兵文件 ②:在springboot中配置依赖、yml文件 ③:测试缓存功能及其存储功能。 ④:测试主机宕机下的风险转移 (二)正式写啦! (1)redis配置文件介绍: 我使用redis的一主二从三哨兵模式来搭配此次的博文。 1)主redis文件: 我这里关闭了安全模式、绑定以及添加了密码 //redis.windows6379.conf文件(原安装路径下redis.windows.conf文件) #给主库设置密码 requirepass 123456 #这个只是我们初始设定的主库,但实际哨兵模式开启的时候,主库可能变成从库,这时候这句就是配置连接另一台主库(原从库的)密码 masterauth 123456 # 绑定ip,只能接收这个ip地址的请求,所以此处我选择注释掉。 # bind 127.0.0.1 # 保护模式,不关掉可能造成ip链接失败、哨兵链接失败等问题 protected-mode no #设置主库的端口号 port 6379 #配置日志文件输出位置,你启动的时候,cmd窗口就没有输出啦,需要到这个文件看

Redis哨兵(Sentinel)模式

梦想的初衷 提交于 2019-12-16 07:13:23
Redis主从切换技术的方法是 :当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。 一、哨兵模式概述 哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。 1、工作原理 哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。 2、哨兵有两个作用 ①通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。 ②当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。 然而一个哨兵进程对Redis服务器进行监控,可能会出现问题,为此,我们可以使用多个哨兵进行监控。各个哨兵之间还会进行监控,这样就形成了多哨兵模式。 3、故障切换(failover)的过程 假设主服务器宕机,哨兵1先检测到这个结果,系统并不会马上进行failover过程,仅仅是哨兵1主观的认为主服务器不可用,这个现象成为 主观下线 。当后面的哨兵也检测到主服务器不可用,并且数量达到一定值时,那么哨兵之间就会进行一次投票,投票的结果由一个哨兵发起,进行failover操作。切换成功后,就会通过发布订阅模式

Redis的Sentinel 哨兵机制-4

南楼画角 提交于 2019-12-14 12:58:21
1.什么是Redis哨兵机制? Redis 哨兵机制主要功能包括 监控(Monitoring) :哨兵会不断地检查主节点和从节点是否运作正常。 自动故障转移(Automatic Failover) :当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点。 配置提供者(Configuration Provider) :客户端在初始化时,通过连接哨兵来获得当前Redis服务的主节点地址。 通知(Notification) :哨兵可以将故障转移的结果发送给客户端。 2.为什么要用哨兵机制? 在实现主从复制的基础上,实现了自动的故障转移。 3.怎么实现哨兵机制? 3.1部署主从节点 #redis-6379.conf port 6379 daemonize yes logfile "6379.log" dbfilename "dump-6379.rdb" #redis-6380.conf port 6380 daemonize yes logfile "6380.log" dbfilename "dump-6380.rdb" slaveof 192.168.92.128 6379 #redis-6381.conf port 6381 daemonize yes logfile "6381.log"

CDN静态资源加速技术深度解析,开发工程师也得要掌握

孤街浪徒 提交于 2019-12-13 13:18:25
前几天,我们讲到了为何引入缓存且应该什么时候引入,并且讲到了我们生产中缓存的读写策略是什么,忘记了的可以自行去文章列表看下,同时又单独深入讲解了redis哨兵机制( Redis 哨兵机制以及底层原理深入解析,这次终于搞清楚了 )和缓存穿透问题的解决方案( 烦人的缓存穿透问题,今天教就你如何去解决 )。至此,我们现在的系统架构已经是这样子的了 于架构图我们可以看出,我们现在使用了分布式缓存来加速动态请求的各种数据,但是,我们的系统中其实还有很多的静态资源的,并且请求量也是超级大的。例如: 移动端APP,有很多的图片,小视频以及流媒体等。 对于网站来说,不仅有上面那些资源之外,还有大量的HTML 文件,css文件以及Javascript文件等。 现在我们的一个商城里面,有很多的商品图片,并且详情页还有产品介绍视频,目前这些静态资源均是放在Nginx服务器上的,请求量很大,并且这些文件对于访问速度要求极高,并且占据很高的带宽。这里就会很有可能出现访问速度变慢,将带宽占满从而影响我们后端动态请求。这个时候我们就需要考虑该怎么去对这些静态资源做加速了。 如何思考加速 首先我们想一下可不可以也用分布式缓存来存储达到加速的目的呢?答案肯定是不行的,因为: 图片或者视频文件大小都不小,在几兆到几百兆之间。 我们的用户是遍地全国各地的甚至还有国外用户,需要让用户能很快的得到相应,即就近访问

Redis主从复制+哨兵简单配置

限于喜欢 提交于 2019-12-12 15:39:06
  项目中考虑到容灾、性能以及容量,一般会使用集群方式搭建redis。而当redis主服务器存在故障,为了redis仍能正常运行,可以搭建redis哨兵,通过选举方式重新建立主从关系。本文简单讲述主从建立和哨兵的配置。本机测试redis为Redis-x64-3.2.100(Windows下载地址: https://github.com/MicrosoftArchive/redis/releases ),使用一台机器运行测试。 1.1 下载解压   下载完成后进行解压,然后复制两份作为从成员,构成一主二从。 1.2 主从配置   主redis配置:编辑文件夹下redis.windows.conf文件,设置bind和port,因为我是本机测试,默认设置bind 127.0.0.1,port 6379   从redis配置:同样编辑文件夹下redis.windows.conf文件,设置bind和port。由于我是一台机器设置两个从redis,所以bind都是127.0.0.1,port分别是6380和6381。做完以上操作,如何标志这两redis是从关系呢?所以,还需要在配置文件中加上一行配置。注意:两个从redis都是相同的配置语句,因为都从属于同一个主redis。 slaveof 127.0.0.1 6379 1.3 主从redis启动   在文件加中使用cmd进入命令窗口

简述Redis的主从复制及哨兵(sentinel)机制实例

我们两清 提交于 2019-12-10 19:16:24
应用场景说明: 基于Linux CentOS 7下搭建了一个“1主2从”的简易集群环境。 master的ip地址为:192.168.206.100。 slave1的ip地址为:192.168.206.101。 slave2的ip地址为:192.168.206.102。 3台服务器的redis的监听端口都为:6379。 3台服务器的redis sentinel监听端口都为:26379。 这里我演示的redis版本是5.0.5 一、关于主从复制 redis的主从复制相对简单,只要简单的配置的即可实现。并且redis支持多级复制,即主服务器(写)的从属服务器也可以作为其他redis的服务器的主服务器,如:192.168.206.100是192.168.206.101的主服务器,但是192.168.206.101还可以作为192.168.206.102的主服务器。但这里只针对“1主2从”的配置模式说明,即:192.168.206.100作为主服务器(master),192.168.206.101、192.168.206.102都作为其的从属服务器(slave): 补充说明:自3.2版本之后,redis新增了保护模式(protected-mode),并且默认是开启的。在这种模式下要启用复制(replica)或者哨兵(sentinel)要么配置redis服务器密码:"requirepass

Redis主从+哨兵

吃可爱长大的小学妹 提交于 2019-12-10 15:39:03
什么是哨兵 Redis-Sentinel是用于管理Redis集群,该系统执行以下三个任务: 1监控(Monitoring): Sentinel会不断地检查你的主服务器和从服务器是否运作正常; 2 提醒(Notification): 当被监控的某个Redis服务器出现问题时,Sentinel可以通过API向管理员或者其他应用程序发送通知; 3 自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时,Sentinel 会开始一次自动故障迁移操作,它会将其中一个从服务器升级为新的主服务器,当客户端试图连接失效的主服务器时,集群也会向客户端返回新主服务器的地址 下载redis5.0 #]wget http://download.redis.io/releases/redis-5.0.2.tar.gz #]cd /usr/local/ #]mkdir redis #]tar -zxvf redis-5.0.2.tar.gz 安装redis5.0 cd redis-5.0.2/ yum –y install gcc make && make install 报错处理: zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录 make MALLOC=libc make install 搭建redis主从复制集群 cd

Redis哨兵模式

偶尔善良 提交于 2019-12-10 10:28:53
1、什么是哨兵 哨兵是对Redis的系统的运行情况的监控,它是一个独立进程,功能有二个: 监控主数据库和从数据库是否运行正常; 主数据出现故障后自动将从数据库转化为主数据库; 2、原理 单个哨兵的架构: 多个哨兵的架构: 多个哨兵,不仅同时监控主从数据库,而且哨兵之间互为监控。 多个哨兵,防止哨兵单点故障。 3、环境 当前处于一主多从的环境中: 4、设置哨兵 启动哨兵进程首先需要创建哨兵配置文件: vim sentinel.conf 输入内容: sentinel monitor taotaoMaster 127.0.0.1 6379 1 说明: taotaoMaster:监控主数据的名称,自定义即可,可以使用大小写字母和“.-_”符号 127.0.0.1:监控的主数据库的IP 6379:监控的主数据库的端口 1:最低通过票数 启动哨兵进程: redis-sentinel ./sentinel.conf 由上图可以看到: 哨兵已经启动,它的id为9059917216012421e8e89a4aa02f15b75346d2b7 为master数据库添加了一个监控 发现了2个slave(由此可以看出,哨兵无需配置slave,只需要指定master,哨兵会自动发现slave) 5、从宕机及恢复 kill掉2826进程后,30秒后哨兵的控制台输出: 2989:X 05 Jun 20:09

Redis之哨兵机制(五)

与世无争的帅哥 提交于 2019-12-07 12:07:29
什么是哨兵机制 Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务: · 监控(Monitoring): 哨兵(sentinel) 会不断地检查你的Master和Slave是否运作正常。 · 提醒(Notification):当被监控的某个 Redis出现问题时, 哨兵(sentinel) 可以通过 API 向管理员或者其他应用程序发送通知。 · 自动故障迁移(Automatic failover):当一个Master不能正常工作时,哨兵(sentinel) 会开始一次自动故障迁移操作,它会将失效Master的其中一个Slave升级为新的Master, 并让失效Master的其他Slave改为复制新的Master; 当客户端试图连接失效的Master时,集群也会向客户端返回新Master的地址,使得集群可以使用Master代替失效Master。 哨兵(sentinel) 是一个分布式系统,你可以在一个架构中运行多个哨兵(sentinel) 进程,这些进程使用流言协议(gossipprotocols)来接收关于Master是否下线的信息,并使用投票协议(agreement protocols)来决定是否执行自动故障迁移,以及选择哪个Slave作为新的Master. 每个哨兵(sentinel) 会向其它哨兵(sentinel)

哨兵模式下的宕机判定策略

强颜欢笑 提交于 2019-12-07 10:22:29
哨兵模式下有两种宕机状态,sdown和odown: (1)如果一个哨兵ping主节点,时间超过is-master-down-after-milliseconds配置的时间参数,该哨兵认为master已经sdown(主观宕机)。 (2)如果quorum数量的哨兵节点都认为主节点sdown,则哨兵的状态变为odown(客观宕机)。 那么在odown的条件下,需要做住备切换,需要选举出来一个哨兵节点进行切换: (1)majority>quorum时, 这个执行切换的哨兵节点需要得到majority数量的哨兵节点授权才能执行。 (2)majority<=quorum时, 这个执行切换的哨兵节点需要得到quorum数量的哨兵节点授权才能执行。 哨兵集群 3节点 majority数量以及quorum数量都配置为2即可 来源: https://www.cnblogs.com/zzq-include/p/12000790.html