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

南京网站建设中企动力关键词挖掘工具网站

南京网站建设中企动力,关键词挖掘工具网站,襄阳建设路21号创意园网站,自己做网站需要什么技术目录 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.rdtb.cn/news/20826.html

相关文章:

  • 怎么样能够为一个网站做推广seo数据统计分析工具有哪些
  • 做律师咨询网站网页模板设计
  • 服装网站建设课程好的营销网站设计公司
  • 瓦房店网站建设windows7优化大师官方下载
  • 在线考试类网站怎么做seo1域名查询
  • 惠州网站制作推广公司排名百度商务合作联系
  • 大理建设学校官方网站合肥seo排名收费
  • 外语网站建设推广普通话手抄报
  • 天津企业网站建设价格seo产品优化推广
  • 请问做网站需要什么中国企业网络营销现状
  • 智慧团建注册登录入口下载seo具体是什么
  • 建设网站群的意义营销排名seo
  • 淮南网站建设好nba赛季排名
  • 嘉兴网站推广优化费用今日国家新闻
  • zhongwen网站模板爱站工具包下载
  • php java做网站郑州网站关键词优化外包
  • 微信用网站怎么做店铺如何运营和推广
  • 政府网站建设先进个人先进事迹网络seo软件
  • 网站开发的目的网络推广靠谱吗
  • 做日本淘宝网站江西seo推广
  • 什么网站用来做商城好温州seo优化
  • 某种网站怎么找网站推广平台有哪些
  • 怎么做一个网站怎么样常见搜索引擎有哪些
  • wordpress 8个安全密匙百度地图排名可以优化吗
  • 南京哪里有做公司网站的市场调研报告模板ppt
  • 只做特卖的网站志鸿优化设计电子版
  • 网站建设优势百度指数查询排行榜
  • 用代码怎么做网站国内搜索引擎排名2022
  • 网站制作及维护合同网站目录
  • 代理公司注册济南盐城seo营销