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

预算有哪些网站做私活门户网站微信服务号建设

预算有哪些网站做私活,门户网站微信服务号建设,上海新闻综合频道今天,系统软件作者 | 张小盼头图 | 下载于东方IC出品 | CSDN云计算#xff08;ID#xff1a;CSDNcloud#xff09;Redis 缓存因其访问性能高、可靠性更高#xff0c;作为缓存工具在各大互联网公司中广泛使用。今天我们就来看看Redis Cluster 的实现原理。集群建立Redis集群是由多个Redis… 作者 | 张小盼头图 | 下载于东方IC出品 | CSDN云计算IDCSDNcloudRedis 缓存因其访问性能高、可靠性更高作为缓存工具在各大互联网公司中广泛使用。今天我们就来看看Redis Cluster 的实现原理。 集群建立Redis集群是由多个Redis节点组成每个Redis节点都是相互独立的为了组建一个redis集群我们需要使用CLUSTER MEET命令把他们连接起来。节点A通过接收客户端发来的LUSTER MEET命令将另一个节点B加入到集群中接收到命令的节点A将与节点B进行握手来来确认彼此的存在。下图显示了它们握手的过程。握手完成后节点A会将节点B的信息通过Gossip协议传播给集群中的其他节点让其他节点与节点B完成握手之后节点B就会被集群中的所有节点认识了。 槽指派集群建立之后那么接下来要解决的就是数据分布问题了。Redis缓存信息是使用 Key-Value 的形式来存储数据Redis集群又将整个数据分布16384个槽中。在存储信息的时候集群会对每个要存储的Key计算CRC16 校验值并对 16384 取模slot CRC16(key)%16384。由于集群中的槽会被指派到不同的节点从而实现了数据的分布式存储。每个节点都保存着一个clusterNode结构该结构里有一个slots属性记录了节点负责处理哪些槽。1struct clusterNode{ 2     //......  3     unsigned char slots[16384/8];  4     //......  5}这个slots属性是个二进制位的数组数组长度为16384/82048个字节共包含16384个二进制位。每个二进制位代表一个槽节点会根据二进制位上的值进行判断该节点是否负责处理这个槽1代表处理0代表不处理。表格中代表的是该节点负责集群中的槽1、3、5、7,这种处理方式可以很快的得出节点是否负责处理某个槽的数据。 指令执行在集群中的16384个槽都进行了指派之后集群就进入了上线状态这时客户端就可以向集群发送数据命令了。当客户端向节点发送GET/SET指令时收到指令的节点会先对指令操作的key进行计算得出该key值应该存储在哪个槽中并检查这个槽是否指派给了自己。 故障转移与恢复Redis集群中的节点分为主节点master和从节点slave主节点主要负责处理槽从节点则用于复制某个主节点数据并在被复制的主节点下线时代替主节点处理后续的命令请求。针对节点下线有两种状态1.主观下线当节点A想节点B发送了一条PING消息时节点B没有在规定的时间内设置的cluster-node-timeout参数返回PONG消息那么节点A会将节点B标记为主观下线状态。这里的主观下线只是节点A主观的认为节点B下线了有可能是因为节点A和节点B之间的网络断了但是其他节点依然可以和节点B通讯所以主观下线并不一定是节点B真的就下线了。2.客观下线由于节点A与集群内的其他节点仍然保持通讯因此节点B的下线消息也通过Gossip协议传遍了集群内的其他节点。当集群内半数以上的节点都认为节点B主观下线了那么节点B就会被认为客观下线了同时将节点B标记为客观下线的节点会向集群中发送一条FAIL消息所有收到这条消息的节点会立即将节点B标记为客观下线。如果一个节点被认为客观下线了那么就需要从它的从节点当中选出一个节点来代替它成为主节点。选举过程如下a.当从节点发现自己正在复制的主节点被标记为客观下线时从节点会向集群中发送一条CLUSTERMSG_TYPE_FAILOVER_AUTH_REQUEST消息要求所有收到这条消息的具有投票权的主节点向这个从节点投票b.如果一个主节点具有投票权并且未投票给其他从节点那么这个主节点会向要求投票的从节点返回一条CLUSTERMSG_TYPE_FAILOVER_AUTH_ACK消息表示这个主节点支持该从节点成为新的主节点c.每个从节点都会接收返回的CLUSTERMSG_TYPE_FAILOVER_AUTH_ACK消息并会进行统计自己得到了多少主节点的支持d.每个具有投票权的主节点只能投一次票当一个从节点获得了一半以上的主节点的支持票时那么这个节点就会成为新的主节点e.如果没有任何一个从节点获取大于半数的投票那么将进行新的选举直到选出新的主节点为止。f.新的主节点产生后它会撤销所有对已下线的主节点的槽指派并将这些槽指派给自己。g.新的主节点会向集群中广播一条PONG消息让集群中的其他节点直到这个从节点已经成为了新的主节点并且接管了原先主节点的所有槽。h.新的主节点负责接收和自己处理的槽相关的指令至此故障转移结束。 结束语本文通过对集群建立、槽指派、指令执行、故障转移与恢复的实现原理进行分析一步一步的带大家认识Redis集群。希望对大家认识和了解Redis集群有所帮助。作者简介张小盼 中国农业银行研发中心全栈运维研发工程师。直播间地址https://live.csdn.net/room/csdnnews/B3423dYF更多精彩推荐 ☞三个月前被 K8S 弃用Docker 火了获 2300 万美元融资☞一招上手这样设计扛住亿级流量活动系统☞Kubernetes 稳定性保障手册极简版点分享点收藏点点赞点在看
http://www.pierceye.com/news/621987/

相关文章:

  • php企业门户网站陕西高速公路建设网站
  • 网站商城系统建设方案h5页面制作网站易企秀
  • 绍兴网站建设方案报价seo外贸网站
  • 物流网站建设重要性建筑公司网址大全
  • 腾讯云注册域名后怎么做网站郑州网站建设大华伟业
  • 哪个小说网站可以做封面中国软件园排名前十
  • 门户网站建设预算表十大软件免费下载安装手机版
  • 河南省安阳市建设银行网站wordpress会员卡
  • 旅游类网站怎么做网站前端设计
  • 涉县网站设计商城网站建设推荐
  • 网站注册了域名然后怎么做网站运维是做什么的
  • 深圳学校网站建设哪家好企业宣传网
  • 静态网站如何添加关键词xp花生壳做网站
  • 南宁霸屏网站开发国际数据公司idc
  • 百色建设网站广西建设监理协会网站
  • 天河营销型网站建设惠东网站设计
  • 网站建设用什么科目qq腾讯官网登录入口
  • 做网站硬件手表网站哪个最好知乎
  • 网站制作教程及流程网站优化常见的优化技术
  • 漯河网站建设-千弘网络品划网络做网站
  • 专业广州做网站公司简历网站免费
  • 广州h5网站制作公司营销网站的筛选
  • 国内最新新闻热点事件摘抄seo诊断书
  • 专业的免费网站建设哪家如何优化网站图片
  • 网站开发哪个更专业国家企业信用信息系统(全国)
  • 中小企业网站制作不了国外网站用什么dns
  • word网站的链接怎么做的网页设计大赛网站开发
  • dede网站模板 音响海外酒店 网站建设
  • 深圳 网站建设公司南宁网站忧化
  • 做油和米的网站山西省网站备案