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

上海手机网站建设多少钱网投网站制作

上海手机网站建设多少钱,网投网站制作,宣传片拍摄报价,sql server网站建设Redis-集群 主从复制和哨兵只能在主节点进行写数据,从节点读取数据,因此本质上,是进行了读写的分离,每个节点都保存了所有的数据,并不能实现一个很好的分布式效果。 1.哈希求余算法 假设有N台主机,对每台…

Redis-集群

在这里插入图片描述

主从复制和哨兵只能在主节点进行写数据,从节点读取数据,因此本质上,是进行了读写的分离,每个节点都保存了所有的数据,并不能实现一个很好的分布式效果。

1.哈希求余算法

假设有N台主机,对每台主机进行编号[0,N-1]。当请求来的时候,通过hash(key)%N得到机器号,映射到相应的主机上,此种方式实现简单,但是也存在一些问题。如果我们对集群进行扩充,数据的迁移概率会很大。

2.一致性哈希算法

建立一个哈希环[0,231-1,每个节点负责环中的部分内容,hash(key)% 231计算得到哈希值,顺时针找到距离最近的一个节点。当我们对集群进行扩充时,只需要将部分数据迁移。

添加节点过程:

在这里插入图片描述

数据倾斜问题:新增的服务器n4只是减轻了n2节点的压力,但是n1节点和n3节点的压力没有变化,导致节点数据不均匀,造成部分服务器压力过大,为解决这个问题引入虚拟节点机制。

虚拟节点:从物理节点中虚拟出多个节点,不同的虚拟节点映射一个物理节点,然后统一的对数据迁移。

在这里插入图片描述

3.哈希槽算法

定义一个哈希槽,这些槽均匀的分给节点,每个节点持有一个分片(一部分槽位,可以是连续的也可以不是连续的),利用hash_slot = crc16(key)%16384计算key属于哪一个槽位,通过槽位映射到具体属于哪一个分片。

关于16384:在redis cluster中默认是有16384个槽位,槽位的编号是从[0,16384]

  1. 如果槽位定义过多,数据迁移成本会变高,而16384是相对好的选择。
  2. 节点之间通过心跳包进行通信,心跳包中包含了该节点持有的槽位,每个节点都会使用位图的数据结构来存储持有的槽位,一个比特位存储一个槽位,用0/1来区分当前分片是否持有该槽位,也就是只需要16484b = 2KB空间,如果偏大,在频繁的网络传输中,开销也不小。

3.1如何处理客户端请求

每个节点都会保存一份槽位映射表,这份映射表记录了每个槽位所对应的节点。当一个节点收到一个操作请求时,它首先会根据这个请求中的键值计算出这个键所对应的槽位,然后根据槽位映射表将这个操作发送到对应的节点上。

这种机制使得Redis集群中的每个节点都能够协同工作,共同维护集群中的数据一致性。即使在某个节点发生故障的情况下,其他节点也能够通过槽位映射表找到对应的节点,继续提供服务。

3.2扩容集群

增加节点是,集群会通过哈希槽分配策略将一些哈希槽分配给新节点,从而实现集群的扩容。

http://www.yayakq.cn/news/955741/

相关文章:

  • 赣州做网站建设加强心理咨询网站的建设
  • 分销网站开发合同上海seo推广平台
  • 可视化建站网站源码ppt模板免费下载可爱
  • 博客网站首页设计天门网站定制
  • 网站里面那些工作是做晚上兼职的深圳竞价网站
  • 游戏钓鱼网站怎么做新开传奇新服
  • 专业做网站的公司 郑州山东免费网站制作
  • 网站优化收费wordpress+时钟插件
  • o2o平台系统开发抖音搜索优化
  • 中国建设银行员工网站搜索引擎推广文案
  • 做电影网站需要注意事项定制网站建设费用预算
  • asp.net网站sql权限设置家政服务app软件开发
  • 家居企业网站建设案例国际本科
  • 重庆放心seo整站优化网站建设成功案例书籍
  • 花桥网站建设租号网站建设
  • 网站建设与维护合同seo优化的技巧
  • 合肥建行网站昆明公司有哪些
  • 企业网站的特点是搜索引擎主题网站模板
  • 浏览器的网站网站数据库转移
  • 建设网站的经验wordpress注册页面带邀请码
  • 上海知名网站制作公司南昌网站建设哪里好
  • 做问卷网站好wordpress牧风
  • 天津公司网站设计万网虚拟主机两个网站
  • 高校网站建设目的手机网页页面设计模板
  • 自己架设的传奇怎么做网站火车头wordpress自动排版
  • 网站的大小一流的邯郸网站建设
  • 沈阳市城乡建设部官方网站网站后台更新了 前台不现实
  • 网站首页效果图如何进行账号推广
  • 美食网站开发开题报告如何k掉网站
  • 做seo网站的步骤欢迎访问中国建设银行官网