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

口碑好的聊城网站建设短视频运营

口碑好的聊城网站建设,短视频运营,在自己的网站上做查分系统,电信网站备案流程图目录 3.Redis哨兵 3.1.哨兵原理 3.1.1.集群结构和作用 3.1.2.集群监控原理 3.1.3.集群故障恢复原理 3.1.4.小结 3.2.搭建哨兵集群 3.3.RedisTemplate 3.3.1.导入Demo工程 3.3.2.引入依赖 3.3.3.配置Redis地址 3.3.4.配置读写分离 3.Redis哨兵 Redis提供了哨兵&am…

目录

3.Redis哨兵

3.1.哨兵原理

3.1.1.集群结构和作用

3.1.2.集群监控原理

3.1.3.集群故障恢复原理

3.1.4.小结

3.2.搭建哨兵集群

3.3.RedisTemplate

3.3.1.导入Demo工程

3.3.2.引入依赖

3.3.3.配置Redis地址

3.3.4.配置读写分离

3.Redis哨兵

Redis提供了哨兵(Sentinel)机制来实现主从集群的自动故障恢复。

3.1.哨兵原理

3.1.1.集群结构和作用

哨兵的结构如图:

哨兵的作用如下:

  • 监控:Sentinel 会不断检查您的master和slave是否按预期工作

  • 自动故障恢复:如果master故障,Sentinel会将一个slave提升为master。当故障实例恢复后也以新的master为主

  • 通知:Sentinel充当Redis客户端的服务发现来源,当集群发生故障转移时,会将最新信息推送给Redis的客户端

3.1.2.集群监控原理

Sentinel基于心跳机制监测服务状态,每隔1秒向集群的每个实例发送ping命令:

•主观下线:如果某sentinel节点发现某实例未在规定时间响应,则认为该实例主观下线

•客观下线:若超过指定数量(quorum)的sentinel都认为该实例主观下线,则该实例客观下线。quorum值最好超过Sentinel实例数量的一半。

3.1.3.集群故障恢复原理

一旦发现master故障,sentinel需要在salve中选择一个作为新的master,选择依据是这样的:

  • 首先会判断slave节点与master节点断开时间长短,如果超过指定值(down-after-milliseconds * 10)则会排除该slave节点

  • 然后判断slave节点的slave-priority值,越小优先级越高,如果是0则永不参与选举

  • 如果slave-prority一样,则判断slave节点的offset值,越大说明数据越新,优先级越高

  • 最后是判断slave节点的运行id大小,越小优先级越高。

当选出一个新的master后,该如何实现切换呢?

流程如下:

  • sentinel给备选的slave1节点发送slaveof no one命令,让该节点成为master

  • sentinel给所有其它slave发送slaveof 192.168.150.101 7002 命令,让这些slave成为新master的从节点,开始从新的master上同步数据。

  • 最后,sentinel将故障节点标记为slave,当故障节点恢复后会自动成为新的master的slave节点

3.1.4.小结

Sentinel的三个作用是什么?

  • 监控

  • 故障转移

  • 通知

Sentinel如何判断一个redis实例是否健康?

  • 每隔1秒发送一次ping命令,如果超过一定时间没有相向则认为是主观下线

  • 如果大多数sentinel都认为实例主观下线,则判定服务下线

故障转移步骤有哪些?

  • 首先选定一个slave作为新的master,执行slaveof no one

  • 然后让所有节点都执行slaveof 新master

  • 修改故障节点配置,添加slaveof 新master

3.2.搭建哨兵集群

3.3.RedisTemplate

在Sentinel集群监管下的Redis主从集群,其节点会因为自动故障转移而发生变化,Redis的客户端必须感知这种变化,及时更新连接信息。Spring的RedisTemplate底层利用lettuce实现了节点的感知和自动切换。

下面,我们通过一个测试来实现RedisTemplate集成哨兵机制。

3.3.1.导入Demo工程

首先,我们引入课前资料提供的Demo工程:

3.3.2.引入依赖

在项目的pom文件中引入依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

3.3.3.配置Redis地址

然后在配置文件application.yml中指定redis的sentinel相关信息:

spring:redis:sentinel:master: mymasternodes:- 192.168.88.160:27001- 192.168.88.160:27002- 192.168.88.160:27003

3.3.4.配置读写分离

在项目的启动类中,添加一个新的bean:

@Bean
public LettuceClientConfigurationBuilderCustomizer clientConfigurationBuilderCustomizer(){return clientConfigurationBuilder -> clientConfigurationBuilder.readFrom(ReadFrom.REPLICA_PREFERRED);
}

这个bean中配置的就是读写策略,包括四种:

  • MASTER:从主节点读取

  • MASTER_PREFERRED:优先从master节点读取,master不可用才读取replica

  • REPLICA:从slave(replica)节点读取

  • REPLICA _PREFERRED:优先从slave(replica)节点读取,所有的slave都不可用才读取master

http://www.tj-hxxt.cn/news/16678.html

相关文章:

  • 内蒙古手机网站制作html网页设计模板
  • 杭州网站推广优化公司温州网站快速排名
  • 可以做网站的软件指数网站
  • 网站技术介绍抖音seo教程
  • 国际要闻百度seo怎么做网站内容优化
  • 网站建设与维护试卷及答案最新百度快速排名技术
  • 宣传片素材网站线上推广方案
  • 江苏网站备案流程搜索点击软件
  • 旅游网站营销百度官网登录入口
  • dw个人网站模板公司怎么推广网络营销
  • 阿里巴巴国际站可以做网站吗栾城seo整站排名
  • 网站设计怎么学郑州百度推广开户
  • 东莞寮步做网站的有吗廊坊seo推广公司
  • 网站建设参数seo排名点击器原理
  • 做网站销售是干什么的最好的优化公司
  • 淄博 建网站怎样做品牌推广
  • 安徽合肥网站建设seol英文啥意思
  • 纳米加工平台网店seo
  • 做网站一年优化网站排名软件
  • 做新房用哪个网站好专门的网页制作工具有
  • 深圳网站设计 商城2023年最新时政热点
  • 公司执照注册流程及费用衡阳seo优化推荐
  • 东营网站建设推广广州引流推广公司
  • 找人做网站需要多少钱产品推广软文范文
  • 网站设置怎么清除公众号推广方案
  • 民治网站优化培训谷歌优化方法
  • 有哪些网站可以做视频2022年最新热点素材
  • 我想自己建立一个网站爱廷玖达泊西汀
  • 北京疫情防控政策大连seo优化
  • 怎么用手机做网站平台媒体邀约