当前位置: 首页 > news >正文

淘宝客自建网站黔西南州网站建设

淘宝客自建网站,黔西南州网站建设,网站域名注销电话,wordpress主页添加广告上一篇介绍了Redis中的主从复制。我们知道Redis主从中一般只有主节点对外提供写操作#xff0c;如果主节点发生故障#xff0c;为了保证Redis的可用性#xff0c;这时就要在可用的slave节点中#xff0c;挑选一个作为主节点。这种切换操作如果是人为的操作#xff0c;那么…上一篇介绍了Redis中的主从复制。我们知道Redis主从中一般只有主节点对外提供写操作如果主节点发生故障为了保证Redis的可用性这时就要在可用的slave节点中挑选一个作为主节点。这种切换操作如果是人为的操作那么存在一定的延时性且耗费较大的人力。为了解决这个问题Redis提供了一种模式--那就是**哨兵模式**。Redis哨兵模式是一个分布式系统监控主从架构中的节点。通过自动故障转移保证集群的**高可用。**哨兵也是一台Redis服务器只是不提供任何服务推荐配置为单数(避免投票时出现相同票)。 1、主要结构 1.1、单哨兵模式 1.2、多哨兵模式 2、主要功能 2.1、监控 Sentinel会不间断的监控主节点和从节点是否正常。 2.2、通知 当Sentinel检测到某个节点出现异常时会通知其他哨兵。 2.3、自动故障转移 当主服务器出现故障时Sentinel会进行一次自动故障转移它会从失效的主服务器的从服务器中选择出一个可用的从服务器作为新的主服务器并通知失效的主服务器的从服务器改为复制新的主服务器当客户端试图连接失效的主服务器时集群也会向客户端返回新的主服务器地址使得集群可以使用主服务器替换失效的服务器。 3、Sentinel工作原理分析 3.1、哨兵文件详解 配置1sentinel monitor master-name ip port quorum 这个配置文件表示的是哨兵定期监控名字叫做master-nameIP为ip端口为port的主节点。quorum表示的哨兵判断主节点是否发生故障的票数。也就是说如果我将quorum设置为2那么就代表至少要有两个哨兵认为主节点故障了才算这个主节点是客观下线的。一般设置为sentinel节点数的一半加一。 配置2sentinel down-after-millseconds master-name times 每个哨兵节点会定期发送ping命令来判断Redis节点和其余的哨兵节点是否可达的如果超过了配置的times时间没有收到pong回复就主观判断节点是不可达的。times单位为毫秒。 配置3sentinel parallel-syncs master-name nums 当哨兵节点认为主节点故障时哨兵投票选出的leader会进行故障转移选出新的主节点原来的从节点们会向新的主节点复制。这个配置就是来控制在故障转移之后每次可以向新的主节点发起复制的节点个数最多为nums个因为如果不加控制会对主节点的网络和磁盘IO资源带来较大的压力。 配置4sentinel failover-timeout master-name times 这个代表哨兵进行故障转移时如果超过了配置的times时间就表示故障转移失败。 配置5sentinel auth-pass master-name password 如果主节点设置了密码则需要这个配置否则哨兵无法对主节点进行监控。 3.2、为什么用到哨兵 哨兵主要是为了解决在主从复制架构中出现宕机的情况。主要分为两种情况 3.2.1、从Redis宕机 这个相对来说简单些在Redis中从库重新启动后会自动加入到主从架构中自动完成数据同步。在Redis 2.8之后主从断线后数据恢复采用增量复制。 3.2.2、主Redis宕机 这个相对来说复杂点需要以下两步才能完成 在从数据库中执行slaveof no noe命令断开主从关系并且提升为主库继续服务。将主库重新启动后执行slaveof 新的master-ip port命令将其设置从库这时数据就能更新回来以从库的方式继续提供服务。 由于这个手动操作的过程其实是比较麻烦的并且容易出错所以Redis提供了**哨兵模式(Sentinel)**来解决这个问题。 3.2.3、主观下线 主观下线就是单个Sentinel认为某个服务下线。Sentinel会以每秒一次的频率向所有与其建立了命令连接的实例(master从服务其他Sentinel)发送ping命令通过判断ping命令回复是有效回复还是无效回复判断实例是否在线(对该Sentinel来说是主观下线)。 Sentinel配置文件中的down-after-millseconds设置了判断主观下线的时间长度如果实例在down-afetr-millseconds毫秒内没有收到有效回复(pong)那么Sentinel会认为(主观)该实例已经下线修改状态为SRI_S_DOWN。如果多个Sentinel监视一个服务有可能存在多个Sentinel的down-after-mullseconds配置不同。 3.2.4、客观下线 当主观下线的节点是主节点时此时该哨兵节点会通过指令Sentinel is-master-down-by-addr寻求其他Sentinel节点对主节点的判断如果其他Sentinel节点也认为主节点客观下线且认为主观下线的票数超过了quorum(选举个数)此时哨兵节点则认为该主节点确实有问题认为其事客观下线。 4、哨兵的三个定时任务监控 4.1、任务1 每个哨兵每10秒会向主节点和从节点发送info命令获取最新的拓扑结构图哨兵配置时只需要配置对主节点的监控即可通过向主节点发送info命令获取从节点的信息并当有新的从节点假如时可以马上感知到。 4.2、任务2 每个哨兵节点每隔2秒会向Redis数据节点的指定频道发送该哨兵节点对于主节点的判断以及当前哨兵节点的信息同时每个哨兵节点也会订阅该频道来了解其他哨兵节点的信息及对主节点的判断其实就是通过消息的publish和subscribe来完成的。 4.3、任务3 每隔1秒每个哨兵会向主节点、从节点及其余哨兵节点发送一次ping命令做一次心跳检测这个也是哨兵用来判断节点是否正常的重要依据。 5、Sentinel的leader选举流程 如果主节点被认为是客观下线之后就会选取一个哨兵节点来完成后面的故障转移工作选举出一个leader的过程如下 每个在线的哨兵节点都可以成为leader当它确认(比如上图的哨兵3)主节点下线时会向其他哨兵发送is-master-down-by-addr命令征求其他哨兵的判断并且将自己设置为leader由leader来处理故障转移。当其他哨兵收到此消息时可以同意或者拒绝它成为领导者。如果哨兵3发现自己在选举中的票数大于num(Sentinel)/21时将成为领导者如果没有超过则继续选举。 6、自动故障转移机制 在从节点中选择新的主节点。 Sentinel状态数据结构中保存了主服务的所有从服务信息。Sentinel中的leader按照如下规则在从服务中选择一个作为新的主服务。 过滤掉主观下线的节点选择slave-priority最高的节点如果有则返回没有就继续选择。选择复制偏移量最大的节点因为复制偏移量越大说明数据越完整如果有则返回没有继续选择。选择run_id最小的节点 通过slaveof no one让选出来的从节点成为主节点并通过slaveof命令让其他从节点复制新的主节点。将下线的主节点设置成新主节点的从节点当其回复正常时复制新的主节点变成新主节点的从节点。 7、Sentinel工作原理总结 每个Sentinel以每秒一次的频率向他所知master、slave以及其他Sentinel发送一次ping命令。如果一个实例距离最后一次回复ping命令的时间超过down-after-millseconds指定的值则这个实例会被Sentinel标记为主观下线。如果一个master被标记为主观下线则正在监控这个master的其他Sentinel要以每秒一次的频率确认master是否进入主观下线。如果有足够数量的Sentinel(大于等于quorum指定的值)认为master确实处于主观下线状态那么master会被标记为客观下线。在一般情况下每个Sentinel要以每10秒一次的频率向已知的master、slave发送info命令。当master被标记为客观下线后Sentinel向下线的master的所有slave发送info命令的频率会从10秒一次改为每秒一次。
http://www.zqtcl.cn/news/34590/

相关文章:

  • 云网站 深圳滨州网站seo
  • 网站评估内容 优帮云wordpress 缩略图代码
  • 电子商务网站的建设课件自用网站开发费用会计分录
  • 织梦做的网站如何放在网上物联网应用技术就业前景
  • 哪个网站可以免费做H5北京感染峰值已过
  • 企业网站建设的困难和问题合肥工程建设云平台
  • 企业官网属于什么网站网站怎么进行优化排名
  • 温州做网站优化网站title keywords
  • 有专门做网站的公司孟村住房建设局网站
  • 做平面有什么好的网站怎么免费建立网店网站
  • 大型网站制作导图wordpress图片模板
  • 昆山app网站制作催眠物语wordpress
  • 网站开发的账务处理怎样搭建一个企业网站
  • 网站制作建设是做什么安全的小网站
  • 天津市中小企业局网站海口中小企业网站制作
  • 网站开发常用字体如何做网络营销推广服务机构
  • 济南做网站的机构有哪些有什么平台可以推广信息
  • 深圳住房和建设局网站在哪个网东莞企业网站建设多少钱
  • 网站建设服务费入济南网站开发
  • 宁波优化网站排名软件odoo 网站开发
  • 课程网站建设的目标wordpress百度秀
  • 长安微网站建设it外包服务商10强
  • 网站建设注意哪些php mysql视频网站开发
  • 方山网站建设网站开发框架的工具
  • 合肥网站优化搜索网店推广方案范文
  • 济南网站建设_美叶网络关闭网站需要多久
  • 网站推广是怎么推广的长春财经学院是公办还是民办
  • 做网站滨州市网站的建设外链优化
  • 全国思政网站的建设情况seo优化网站优化排名
  • 福步外贸论坛网首页seo提供服务