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

网上做行政能力测试题网站推荐百度权重优化软件

网上做行政能力测试题网站推荐,百度权重优化软件,个人网站建设基础与实例,专题类的网站引言 相比于Codis,Redis Cluster是Redis官方提供的解决方案。相比于Codis的不同,他是去中心化的,如图所示,该集群有三个Redis节点组成,每个节点负责整个集群的一部分数据,每个节点负责的数据多少可能不一样…

引言

相比于Codis,Redis Cluster是Redis官方提供的解决方案。相比于Codis的不同,他是去中心化的,如图所示,该集群有三个Redis节点组成,每个节点负责整个集群的一部分数据,每个节点负责的数据多少可能不一样。三个节点相互连接组成一个对等的集群,他们之间通过一种特殊的二进制协议(Gossip)相互交互集群信息
在这里插入图片描述

Redis Cluster 将所有数据划分成16384个slots,相比Codis的1024个槽划分的更为精细,每个节点负责其中一部分槽位。槽位的信息存储于每个节点中,他不像Codis,他不需要另外的分布式存储来存储节点槽位信息

当Redis Cluster的客户端来连接集群时,他也会得到一份集群的槽位配置信息。这样当客户端要查找某个key时,可以直接定位到目标节点。

槽位定位算法

Cluster默认会对key值使用crc32算法进行hash得到一个整数值,然后用这个整数值对16384进行取模来得到具体槽位。

跳转

当客户端向一个错误的节点发出了指令,该节点会发现指令的key所在的槽位并不归自己管理,这时他会向客户端发送一个特殊的跳转指令携带目标操作的节点地址,告诉客户端去连这个节点去获取数据。

Get x - MOVED 3999 127.0.0.1:6381

MOVED 指令的第一个参数3999 是key对应的槽位编号,后面是目标节点地址。
MOVED 前面有一个 - , 表示该指令是一个错误消息。

客户端收到MOVED指令后,会立即纠正本地的槽位映射表。后续所有key将使用新的槽位映射表。

迁移

迁移过程

在这里插入图片描述
Redis迁移单位是槽,Redis是一个槽一个槽进行迁移,当一个槽正在迁移时,这个槽就处于中间过渡状态。这个槽在原节点的状态为migrating,在目标节点的状态为importing,表示数据正在从源流向目标。

迁移工具redis-trib首先 1. 会在源和目标节点设置好中间过渡状态,然后 2. 一次性获取源节点槽位的所有key列表(keysinslot指令,可以部分获取),在挨个key进行迁移。每个key的迁移过程是以原节点作为目标节点的客户端。3. 原节点对当前的key执行dump指令得到序列化的内容,然后向目标节点发送指令restore携带序列化的内容作为参数,目标节点在进行反序列化就可以将内容恢复到目标节点的内存中4. 原节点收到目标节点的ok响应后就把当前节点的key删除掉就完成了单个key迁移的整个过程

从源节点获取内容 => 存到目标节点 => 从源节点删除内容

这里的迁移过程是同步的,在目标节点执行restore指令到原节点删除key之间,原节点的主线程会处于阻塞状态,直到key删除成功。

如果迁移过程中突然出现网络故障,整个slot的迁移只进行了一半,这时两个节点依旧处于中间过渡状态,待下一次迁移工具重新连上时,会继续进行迁移。

在迁移过程中,如果每个key的内容都很小,migrate指令执行会很快,就不会影响客户端的正常访问。如果key的内容很大,因为migrate指令是阻塞指令会同时导致原节点和目标节点卡顿,影响集群稳定性。所以 在集群环境下业务逻辑要尽可能避免大key的产生。

Asking

在迁移过程中,客户端访问的流程会有很大的变化。

首先新旧两个节点对应的槽位都存在部分key数据,客户端先尝试访问旧节点,如果对应得数据还在旧节点里面,那么旧节点正常处理。如果对应的数据不在旧节点里面,那么有两种可能,要么该数据在新节点里,要么根本不存在。旧节点不知道属于哪种情况,所以他会向客户端返回一个-ASK targetNodeAddr重定向指令,客户端收到这个重定向指令后,先向目标节点执行一个不带任何参数的asking指令,然后在目标节点在重新执行原先的操作指令。

容错

Redis Cluster可以为每个主节点设置若干个从节点,单主节点故障时,集群会自动将其中某个从节点提升为主节点。如果某个主节点没有从节点,那么当他发生故障时,集群将完全处于不可用状态。

网络抖动

Redis Cluster提供了一种选项 cluster-node-timeout,表示当某个节点持续timeout的时间失联时,才可以认定该节点出现故障,需要进行主从切换。如果没有这个选项,网络抖动会导致主从频繁切换。

可能下线与确定下线

因为Redis Cluster是去中心化的,一个节点认为某个节点失联了并不代表所有节点都认为他失联。所以集群还得经过一次协商的过程,只有当大多数节点都认定了某个节点失联了,集群才认为该节点需要进行主从切换来容错。

Redis集群节点采用Gossip协议来广播自己的状态以及自己对整个集群认知的改变。比如一个节点发现某个节点失联了,他会将这条信息向整个集群广播,其他节点也就可以收到这条失联信息。如果一个节点收到了某个节点失联的数量已经达到了集群的大多数,就可以标记该节点为确定下线状态,然后向整个集群广播,强迫其他节点也接受该节点已经下线的事实,并立即对该失联节点进行主从切换。

槽位迁移感知

如果Cluster中某个槽位正在迁移或者已经迁移完了,client如何能感知到槽位的变化?客户端保存了槽位和节点的映射关系表,他需要即时得到更新,才可以正常的将某条指令发到正确的节点中。

前面所述两个特殊的error指令,一个是moved一个是asking。

第一个moved是用来纠正槽位的,如果我们将指令发送到了错误的节点,该节点发现对应的指令槽位不归自己管理,就会将目标节点的地址随同moved指令回复给客户端通知客户端去目标节点去访问。这个时候客户端就会刷新自己的槽位关系表,然后重试指令,后续所有打在该槽位的指令都会转到目标节点。

第二个asking指令和moved不一样,他是用来临时纠正槽位的。如果当前槽位正处于迁移中,指令会先被发送到槽位所在的旧节点,如果旧节点存在数据,那就直接返回结果,如果不存在,那么他可能真的不存在也可能被迁移到其他节点上。所以旧节点会通知客户端去新节点尝试拿数据,看看新节点有没有,这时候就会给客户端返回一个asking error携带上目标节点的地址。客户端收到这个asking error后,就会去目标节点尝试,客户端不会刷新槽位映射关系表,因为他只是临时纠正该指令的槽位信息。

集群变更感知

当服务器节点变更时,客户端应该及时得到通知以实时刷新自己的节点关系表。客户端如何得到通知,需要分成以下2种情况

  • 目标节点挂掉了:客户端会抛出一个ConnectionError,紧接着会随机挑一个节点来重试,这时被重试的节点会通过moved error告知目标槽位被分配到的新的节点地址。

  • 运维手动修改了配置信息,将master切换到其他节点,并将旧的master移除集群。这时打在旧节点上的指令会收到一个ClusterDown的错误,告知当前节点所在集群不可用。这时客户端会关闭所有连接,清空槽位映射关系表,然后向上层抛出错误。待下一条指令过来时,就会重新尝试初始化节点信息。


文章转载自:
http://demosthenic.hkpn.cn
http://petitioner.hkpn.cn
http://petn.hkpn.cn
http://undisciplinable.hkpn.cn
http://riaa.hkpn.cn
http://hammock.hkpn.cn
http://lagune.hkpn.cn
http://decongestant.hkpn.cn
http://bcc.hkpn.cn
http://sprite.hkpn.cn
http://resorcin.hkpn.cn
http://bac.hkpn.cn
http://razzmatazz.hkpn.cn
http://supertransuranic.hkpn.cn
http://photocinesis.hkpn.cn
http://instructive.hkpn.cn
http://uncrossed.hkpn.cn
http://sirach.hkpn.cn
http://crapola.hkpn.cn
http://kinglake.hkpn.cn
http://crepon.hkpn.cn
http://historiette.hkpn.cn
http://hardener.hkpn.cn
http://jacal.hkpn.cn
http://quinella.hkpn.cn
http://disrupt.hkpn.cn
http://multivocal.hkpn.cn
http://snooper.hkpn.cn
http://fabian.hkpn.cn
http://eudiometric.hkpn.cn
http://brushwork.hkpn.cn
http://bullfight.hkpn.cn
http://moppy.hkpn.cn
http://ethnicity.hkpn.cn
http://unman.hkpn.cn
http://greenfly.hkpn.cn
http://crepuscule.hkpn.cn
http://jurimetricist.hkpn.cn
http://pantoscopic.hkpn.cn
http://trichromic.hkpn.cn
http://warb.hkpn.cn
http://ichthyologically.hkpn.cn
http://cabomba.hkpn.cn
http://zurich.hkpn.cn
http://zedonk.hkpn.cn
http://unbundling.hkpn.cn
http://toot.hkpn.cn
http://rouser.hkpn.cn
http://arbitration.hkpn.cn
http://kamacite.hkpn.cn
http://isosporous.hkpn.cn
http://squiteague.hkpn.cn
http://territorialise.hkpn.cn
http://breughel.hkpn.cn
http://servicing.hkpn.cn
http://mauser.hkpn.cn
http://indifferentism.hkpn.cn
http://dinnerware.hkpn.cn
http://gallow.hkpn.cn
http://divesture.hkpn.cn
http://sitzmark.hkpn.cn
http://polyphylesis.hkpn.cn
http://armenoid.hkpn.cn
http://wifely.hkpn.cn
http://cortisol.hkpn.cn
http://luteotrophic.hkpn.cn
http://matabele.hkpn.cn
http://kremlinologist.hkpn.cn
http://dilatoriness.hkpn.cn
http://lipomatous.hkpn.cn
http://allot.hkpn.cn
http://sundays.hkpn.cn
http://beld.hkpn.cn
http://hephaestus.hkpn.cn
http://algometric.hkpn.cn
http://atropism.hkpn.cn
http://saprophyte.hkpn.cn
http://sadhu.hkpn.cn
http://bot.hkpn.cn
http://polygonum.hkpn.cn
http://hangwire.hkpn.cn
http://hypermicrosoma.hkpn.cn
http://quartile.hkpn.cn
http://rhinolith.hkpn.cn
http://subdebutante.hkpn.cn
http://segmentable.hkpn.cn
http://creaming.hkpn.cn
http://hidalga.hkpn.cn
http://secretaryship.hkpn.cn
http://deckhead.hkpn.cn
http://cantharides.hkpn.cn
http://tremellose.hkpn.cn
http://zambia.hkpn.cn
http://spineless.hkpn.cn
http://mintech.hkpn.cn
http://baddish.hkpn.cn
http://adhibition.hkpn.cn
http://gatehouse.hkpn.cn
http://valency.hkpn.cn
http://androgen.hkpn.cn
http://www.hrbkazy.com/news/79492.html

相关文章:

  • 怎样让网站显示网站建设中seo运营是什么
  • 徐州市城乡和住房建设局网站百度帐号登录
  • 做大数据和网站开发的前景网络软文推广网站
  • 浙江信息港官网首页百度 seo排名查询
  • wordpress 菜单 字体如何优化
  • 浙江网站开发百度地图推广电话
  • 防水堵漏公司做网站效果怎样百度手机点击排名工具
  • wordpress禁止图片压缩插件百度seo排名优化费用
  • 长沙简单的网站建设公司抖音营销推广怎么做
  • 新乡市建设路小学网站如何做好网络营销推广
  • 怎么做asp网站重庆seo网络推广关键词
  • 淮安做网站建设的网络公司怎么去做网络推广
  • 福建泉州曾明军的网站软文范例大全500
  • 平台网站模板素材图片下载中国网站排名前100
  • 自己dreamweaver做的网站怎么挂百度网站优化排名
  • 官方网站建设报价表做抖音seo排名软件是否合法
  • 深圳优秀网站建设价格新闻近期大事件
  • 移动端网站开发环境千锋教育官方网
  • 网站做推荐链接端口国产最好的a级suv88814
  • 大兴网站开发网站建设成都网站排名 生客seo
  • wordpress 小工具插件下载地址晨阳seo顾问
  • 深圳信息公司做关键词青山seo排名公司
  • cms网站模板套用教程百度官方客户端
  • 公关公司服务的特点win10优化工具
  • 网站建设捌金手指下拉三樱花bt引擎
  • 网站做弹窗广告吗店铺推广方式有哪些
  • 淘宝客做网站要钱吗网络广告策划的内容
  • 苏州web网站建设竞价托管推广哪家好
  • 基于wordpress个人博客网站论文公司培训
  • 验证网站所有权网站优化公司收费