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

手机端网站建设步骤国内logo设计网站

手机端网站建设步骤,国内logo设计网站,上海住房和城乡建设厅网站,企业网站建设费用怎么入账文章目录 Redis分片集群搭建分片集群散列插槽插槽原理小结 集群伸缩需求分析创建新的redis实例添加新节点到redis转移插槽 故障转移自动故障转移手动故障转移 RedisTemplate访问分片集群 Redis分片集群 搭建分片集群 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两… 文章目录 Redis分片集群搭建分片集群散列插槽插槽原理小结 集群伸缩需求分析创建新的redis实例添加新节点到redis转移插槽 故障转移自动故障转移手动故障转移 RedisTemplate访问分片集群 Redis分片集群 搭建分片集群 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决 海量数据存储问题 高并发写的问题 使用分片集群可以解决上述问题如图: 分片集群特征 集群中有多个master每个master保存不同数据 每个master都可以有多个slave节点 master之间通过ping监测彼此健康状态 客户端请求可以访问集群任意节点最终都会被转发到正确节点 散列插槽 插槽原理 Redis会把每一个master节点映射到0~16383共16384个插槽hash slot上查看集群信息时就能看到 数据key不是与节点绑定而是与插槽绑定。redis会根据key的有效部分计算插槽值分两种情况 key中包含{}且“{}”中至少包含1个字符“{}”中的部分是有效部分key中不包含“{}”整个key都是有效部分 例如key是num那么就根据num计算如果是{itcast}num则根据itcast计算。计算方式是利用CRC16算法得到一个hash值然后对16384取余得到的结果就是slot值。 如图在7001这个节点执行set a 1时对a做hash运算对16384取余得到的结果是15495因此要存储到103节点。 到了7003后执行get num时对num做hash运算对16384取余得到的结果是2765因此需要切换到7001节点 小结 Redis如何判断某个key应该在哪个实例 将16384个插槽分配到不同的实例根据key的有效部分计算哈希值对16384取余余数作为插槽寻找插槽所在实例即可 如何将同一类数据固定的保存在同一个Redis实例 这一类数据使用相同的有效部分例如key都以{typeId}为前缀 集群伸缩 redis-cli --cluster提供了很多操作集群的命令可以通过下面方式查看 需求分析 需求向集群中添加一个新的master节点并向其中存储 num 10 启动一个新的redis实例端口为7004添加7004到之前的集群并作为一个master节点给7004节点分配插槽使得num这个key可以存储到7004实例 这里需要两个新的功能 添加一个节点到集群中将部分插槽分配到新插槽 创建新的redis实例 创建一个文件夹 mkdir 7004拷贝配置文件 cp redis.conf /7004修改配置文件 sed /s/6379/7004/g 7004/redis.conf启动 redis-server 7004/redis.conf添加新节点到redis 添加节点的语法如下 执行命令 redis-cli --cluster add-node 192.168.150.101:7004 192.168.150.101:7001通过命令查看集群状态 redis-cli -p 7001 cluster nodes如图7004加入了集群并且默认是一个master节点 但是可以看到7004节点的插槽数量为0因此没有任何数据可以存储到7004上 转移插槽 我们要将num存储到7004节点因此需要先看看num的插槽是多少 如上图所示num的插槽为2765. 我们可以将0~3000的插槽从7001转移到7004命令格式如下 具体命令如下 建立连接 得到下面的反馈 询问要移动多少个插槽我们计划是3000个 新的问题来了 那个node来接收这些插槽 显然是7004那么7004节点的id是多少呢 复制这个id然后拷贝到刚才的控制台后 这里询问你的插槽是从哪里移动过来的 all代表全部也就是三个节点各转移一部分具体的id目标节点的iddone没有了 这里我们要从7001获取因此填写7001的id 填完后点击done这样插槽转移就准备好了 确认要转移吗输入yes 然后通过命令查看结果 可以看到 目的达成。 故障转移 集群初识状态是这样的 其中7001、7002、7003都是master我们计划让7002宕机。 自动故障转移 当集群中有一个master宕机会发生什么呢 直接停止一个redis实例例如7002 redis-cli -p 7002 shutdown1首先是该实例与其它实例失去连接 2然后是疑似宕机 3最后是确定下线自动提升一个slave为新的master 4当7002再次启动就会变为一个slave节点了 手动故障转移 利用cluster failover命令可以手动让集群中的某个master宕机切换到执行cluster failover命令的这个slave节点实现无感知的数据迁移。其流程如下 这种failover命令可以指定三种模式 缺省默认的流程如图1~6歩force省略了对offset的一致性校验takeover直接执行第5歩忽略数据一致性、忽略master状态和其它master的意见 案例需求在7002这个slave节点执行手动故障转移重新夺回master地位 步骤如下 1利用redis-cli连接7002这个节点 2执行cluster failover命令 如图 效果 RedisTemplate访问分片集群 RedisTemplate底层同样基于lettuce实现了分片集群的支持而使用的步骤与哨兵模式基本一致 1引入redis的starter依赖 2配置分片集群地址 3配置读写分离 与哨兵模式相比其中只有分片集群的配置方式略有差异如下 spring:redis:cluster:nodes:- 192.168.150.101:7001- 192.168.150.101:7002- 192.168.150.101:7003- 192.168.150.101:8001- 192.168.150.101:8002- 192.168.150.101:8003
http://www.zqtcl.cn/news/319772/

相关文章:

  • 阿里云 建设网站北京百度竞价托管公司
  • 怎么样做长久的电影网站安卓手机应用市场
  • 网站建设账户搭建济南网络优化哪家专业
  • 宜兴城乡建设局网站wordpress调用logo
  • 让他人建设网站需要提供的材料女生读电子商务好就业吗
  • 北大荒建设集团网站国内开源代码网站
  • 高端企业网站要多少钱中企动力z云邮箱登录
  • 网站建设视频教程百度云那种自行提取卡密的网站怎么做
  • 网站外链建设与维护网站建设客户调研表
  • 海南省建设银行官方网站招聘营销的主要目的有哪些
  • flask 简易网站开发网站建设和空间
  • 怀化建设网站wordpress静态化插件
  • 网站上的中英文切换是怎么做的大连网站制作优选ls15227
  • 网站开发工作安排广告设计公司有哪些
  • 无人机公司网站建设用什么软件做网站最简单
  • 企业微信app下载安装电脑版淄博网站优化价格
  • 做一个电影网站需要多少钱在线代理服务器网站
  • 怎样制作微信网站办网络宽带多少钱
  • ios开发者账号有什么用嘉兴网站关键词优化
  • 怎样在外贸网站做业务简付后wordpress
  • html网页制作源代码成品长沙 网站优化
  • 长沙做网站哪里好百度招聘 网站开发
  • 创建网站服务器银川建设厅网站
  • 海口建设局网站代运营网站建设
  • 网站建设环境搭建心得体会微信开发者模式
  • 网站点击率多少正常落地页网站
  • 做淘宝店铺有哪些好的网站东莞网站制作建设收费
  • Wordpress 实名认证太原网站搜索优化
  • 大良网站建设dwxw网站可以自己做
  • 自己怎么建网站佛山哪家网站建设比较好