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

全国中小型企业名录郑州seo顾问外包

全国中小型企业名录,郑州seo顾问外包,商业网站建设规划书,无代码网站开发redis的分片集群模式 1 主从哨兵集群的问题和分片集群特点 主从哨兵集群可应对高并发写和高可用性,但是还有2个问题没有解决: (1)海量数据存储 (2)高并发写的问题 使用分片集群可解决,分片集群…

redis的分片集群模式

1 主从哨兵集群的问题和分片集群特点

主从哨兵集群可应对高并发写和高可用性,但是还有2个问题没有解决:
(1)海量数据存储
(2)高并发写的问题
使用分片集群可解决,分片集群的特点:
(1)集群中有多个master,每个master保存不同的数据。(实现海量数据存储)
(2)每个master都可以有多个slave节点。(实现高并发读)
(3)master之间通过ping检测彼此健康状态。(替代主从集群中的哨兵,多个master认为某个master客观下线,可在每个master和自己的slave节点之间进行主从切换,满足高可用性)
(4)客户端请求(redisTemplate)可以访问集群任意节点,最终都会被转发到正确的节点。

在这里插入图片描述

2 搭建redis分片集群

分片集群需要的节点数较多,搭建一个最小的分片集群,包含3个master节点,每个master节点包含一个slave节点。采用一主一从模式,总共3个master和3个slave节点。
可在同一个虚拟机中开启6个redis实例,模拟分片集群。

编写redis.conf文件:
在这里插入图片描述

(1)分别启动6个redis

(2)创建集群

# 分片集群操作相关的命令
redis-cli --cluster help# 创建集群
redis-cli --cluster create --cluster-replicas 1 节点ip:端口号  节点ip2:端口号   ......  节点ip6:端口号

create:创建集群
–cluster-replicas 1:指定集群中每个master的副本个数为1,节点总数(6)除以(1+1)= 3 ,说明maste的数量为3,因此节点列表的前3个就是master节点,其余是slave节点,随机分配到不同的master上。

# 查看集群状态
redis-cli -p 端口号 cluster nodes
## 展示各个节点

在这里插入图片描述

3 分片集群中的散列插槽

散列插槽(设计目的:有利于数据的转移)

redis会把每一个master节点映射到0~16383共16384个插槽(hash slot)上,查看集群信息时就能看到:(每一个master节点都会占用一部分的插槽)。
数据key不是与节点绑定的,而是与插槽绑定。redis会根据key的有效部分计算出插槽值,有以下2种情况:
(1)key中包含“{}”,且“{}”中至少包含1个字符,“{}”中的部分是有效部分
(2)key中不包含“{}”,整个key都是有效部分。

例如:key是num,就会根据num计算;如果是{itcast}num,则根据itcast计算。计算方式是利用CRC16算法得到一个hash值,然后对16384取余(取余的结果始终在0~16383中间),得到的结果就是slot值。

# 使用集群模式  连接redis,set值(-c)
redis-cli -c -p 7001

set a 1的时候 a的计算结果的slot(插槽)等于15495,会自动跳转到存储到这个redis的散列插槽中。
在这里插入图片描述

如何实现将某一类数据都存储到指定的redis的主节点上

这一类数据可以使用相同的有效部分,例如key都以{typeId}为前缀。

4 分片集群中的集群伸缩

集群伸缩:增加和删除集群中节点

向集群中增加一个新的master节点,并向num=10

需求:
将已有的那个redis实例的插槽移动到新增master节点的插槽中,将已有的那个redis实例下线(如:服务器老登)

# 
redis-cli --cluster --help
# 默认是master节点,当然再在后面使用指定是master还是slave以及是谁的slave,添加新的redis实例节点默认是没有插槽值的 (在connected后面的是slot插槽)
redis-cli --cluster add-node 新增节点的ip:端口号 redis分片集群中已有的ip:端口号
# 重新分片 reshard 从其他节点的插槽中移到指定节点的部分插槽值   按照提示一步一步操作  注意填入redis实例的id(可使用cluster nodes查看)
redis-cli --cluster reshard

5 分片集群中的故障转移

其中一个master宕机(可以主动停机)–自动故障转移

# 停机后 该节点断开连接  从节点变为master节点  该节点重启后,变为slave节点
redis-cli -p 端口号 shutdown

手动故障转移(一个redis实例节点服务器老旧需要升级)–数据迁移

将某个slave节点机器替换现在的master节点
在slave节点的机器上执行cluster failover命令

# 可让当前slave节点成为master节点,之前的master节点变为slave节点
cluster failover

6 redisTemplate访问分片集群

(1)引入redis的starter依赖

(2)配置文件中配置redis分片集群的每个节点的地址

在这里插入图片描述

(3)配置主从读写分离

http://www.hkea.cn/news/110097/

相关文章:

  • vps 网站上传网站seo优化是什么意思
  • wordpress cos腾讯云seo网站优化收藏
  • 鹤岗商城网站建设免费域名申请
  • 江苏三个地方疫情严重抖音视频排名优化
  • 竞价排名广告东莞关键词排名快速优化
  • 做视频网站要什么格式好网络营销公司怎么注册
  • 企业专业网站建设快速网站搭建
  • 武威建设网站的网站google谷歌搜索
  • 长沙公司做网站多少钱推广平台怎么做
  • 现在大家做电商网站用什么源码营销策略都有哪些
  • 可以做试卷的网站英语怎么说seo关键词排名优化系统源码
  • 网站怎么设置支付功能企业网站的主要类型有
  • 成都圣都装饰装修公司北京搜索优化排名公司
  • 境外建设网站贴吧互联网域名注册查询
  • 广州建站工作室淘客推广怎么做
  • 中国最大的网站建设公司百度广告联盟点击一次多少钱
  • wordpress单页主题营销seo手机关键词网址
  • dedecms做电影网站韩国最新新闻
  • 哪个网站做废旧好如何在百度上发布自己的广告
  • 网站表单及商品列表详情模板如何搭建自己的网站
  • 网站域名登记证明百度高级搜索怎么用
  • 国外网站在国内做镜像站点网站搭建费用
  • 网站后台如何添加关键词软件开发公司
  • 手机做网站的网站windows优化大师卸载不了
  • 万网速成网站有哪些 功能自己的网站怎么推广
  • 邯郸哪有做网站的河南百度推广公司
  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢西安网站seo优化公司
  • 网页传奇游戏排行昆明网络推广优化
  • 商城模板网站模板网站软文是什么
  • 校园网站推广方案怎么做网站排名推广工具