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

wordpress网站搬家换域名wordpress博客推荐

wordpress网站搬家换域名,wordpress博客推荐,酒店软装设计公司官网,百度推广介绍集群 ASK错误 在进行重新分片期间#xff0c;源节点向目标节点迁移一个槽的过程中#xff0c;可能会出现这样一种情况:属于被迁移槽的一部分键值对保存在源节点里面#xff0c;而另一部分键值对则保存在目标节点里面。当客户端向源节点发送一个与数据库有关的命令#xf…集群 ASK错误 在进行重新分片期间源节点向目标节点迁移一个槽的过程中可能会出现这样一种情况:属于被迁移槽的一部分键值对保存在源节点里面而另一部分键值对则保存在目标节点里面。当客户端向源节点发送一个与数据库有关的命令并且命令要处理的数据库键恰好就属于正在被迁移的槽时: 1.源节点会先在自己的数据库里面查找指定的键如果找到的话就直接执行客户端发送的命令2.相反地如果源节点没能在自己的数据库里面找到指定的键那么这个键有可能已经被迁移到了目标节点源节点没能在自己的数据库里面找到指定的键那么这个键有可能已经被迁移到了目标节点源节点将向客户端返回一个ASK错误指引客户端转向正在导入槽的目标节点并再次发送之前想要执行的命令 例子 举个例子。如图展示了源节点判断是否需要向客户端发送ASK错误的整个过程,假设节点7002正在向节点7003迁移槽16198这个槽包含is和love两个键其中键is还留在节点7002而键love已经被迁移到了节点7003如果我们向节点7002发送关于键is的命令那么这个命令会直接被节点7002执行: 127.0.0.1:7002GET is you get the key is而如果我们向节点7002发送关于键love的命令那么客户端会先被转向至节点7003然后再次执行命令: 127.0.0.1:7002 GET love - Redirected to slot [16198] located at 127.0.0.1:7003 you get the key love 127.0.0.1:7003被隐藏的ASK错误 和接到MOVED错误时的情况类似集群模式的redis-cli在接到ASK错误时也不会打印错误而是自动根据错误提供的IP地址和端口进行转向动作。如果想看到节点发送的ASK错误的话可以使用单机模式的redis-cli客户端 redis-cli -p 7002 127.0.0.1:7002 GET love (error) ASK 16198 127.0.0.1:7003CLUSTER SETSLOT IMPORTING命令的实现 clusterState结构的importing_slots_from数组记录了当前节点正在从其他节点导入的槽: typedef struct clusterState { // ... clusterNode *importing_slots_from[16384]; // ... } clusterState;如果importing_slots_from[i]的值不为NULL,而是指向一个clusterNode结构那么表示当前节点正在从clusterNode所代表的节点导入槽[i].在对集群进行重新分片的时候向目标节点发送命令 CLUSTER SETSLOT i IMPORTING source_id可以将目标节点clusterState.importing_slots_from[i]的值设置为source_id所代表节点的clusterNode结构。 例子 举个例子。如果客户端向节点7003发送以下命令: # b4348045d1eadca5abd96b8d0d13b0309ed117e1 是节点7002的id 127.0.0.1:7003 CLUSTER SETSLOT 16198 IMPORTING b4348045d1eadca5abd96b8d0d13b0309ed117e1 OK那么节点7003的clusterState.importing_slots_from数组将变成如图所示的样子。 CLUSTER SETSLOT MIGRATING命令的实现 clusterState结构的migrating_slots_to数组记录了当前节点正在迁移至其他节点的槽: typedef struct clusterState { // ... clusterNode *migrating_slots_to[16384] // ... } clusterState;如果migrating_slots_to[i]的值不为NULL而是指向一个clusterNode结构那么表示当前节点正在将槽[i]迁移至clusterNode所代表的节点。 在对集群进行重新分片的时候向源节点发送命令: CLUSTER SETSLOT i MIGRATING target_id可以将源节点clusterState.migrating_slots_to[i]的值设置为target_id所代表节点的clusterNode结构。 例子 举个例子。如果客户端向节点7002发送以下命令: # b4348045d1eadca5abd96b8d0d13b0309ed117e1 是节点7003的ID 127.0.0.1:7002CLUSTER SETSLOT 16198 MIGRATING b4348045d1eadca5abd96b8d0d13b0309ed117e1那么节点7002的clusterstate.migrating_slots_to数组将变成如图所示的样子 ASK错误 如果节点收到一个关于键key的命令请求并且键key所属的槽i正好就指派给了这个节点那么节点会尝试在自己的数据库里查找键key如果找到了的话节点就直接执行客户端发送的命令。与此相反如果节点没有在自己的数据库里找到键key那么系欸但会检查自己的clusterState.migrating_slots_to[i] 看键key所属的槽i是否正在进行迁移如果槽i的确在进行迁移的话那么节点会向客户端发送一个ASK错误引导客户端正在导入槽i的节点去查找键key。 例子 举个例子。假设在节点7002向节点7003迁移槽16198期间有一个客户端向节点发送命令 GET love因为键love正好属于槽16198所以节点7002会首先在自己的数据库中查找键love,但并没有找到通过检查自己的clusterState.migrating_slots_to[16198]节点7002发现自己正在将槽16198迁移至节点7003于是它向客户端返回错误: ASK 16198 127.0.0.1:7003这个错误表示客户端可以尝试到IP为127.0.0.1端口号为7003的节点去执行和槽16198有关的操作如图所示.接到ASK错误的客户端会根据错误提供的IP地址和端口号转向至正在导入槽的目标节点然后首先向目标节点发送一个ASKING命令之后再重新发送原本想要执行的命令。 当客户端接收到节点7002返回的以下错误时: ASK 16198 127.0.0.1:7003客户端会转向至节点7003首先发送命令: ASKING然后再次发送命令: GET love并获得回复: you get the key love
http://www.zqtcl.cn/news/658858/

相关文章:

  • 网页制作与网站建设实战大全读后感霞浦建站公司
  • 网站运营与网络推广方案搜索引擎关键字排名优化
  • 前端角度实现网站首页加载慢优化王业美三个字组成的子
  • 阜阳网站是用idea做html网站
  • 商业网站可以选择.org域名吗seo是东莞企业网站排seo
  • 做百度手机网站关键词排名哪个通讯公司的网络好
  • 网站后期维修问题qq网站建设
  • 做网站不会框架网站开发逻辑图
  • 东莞网站制作个性化宜都网站建设
  • 空壳网站查询网络服务提供者不履行法律、行政法规
  • 付费阅读网站代码做网站需要什么软件
  • 泗阳网站设计外贸网站特点
  • 国外logo设计网站推荐网页浏览器证书失效怎么修复
  • asp.net建立手机网站校园网站设计代码
  • 网站图标怎么下载肇庆新农村建设内容在哪个网站
  • 上海建站哪家好临沂建设工程质量 监督网站
  • 中国建设银行网站地图上海最新新闻热点事件
  • wordpress4.95淘宝优化标题都是用什么软件
  • 大网站用wordpress吗网站广告费怎么做分录
  • 江西建设安全网站会展平面设计主要做什么
  • 阿里巴巴免费做网站吗企业商务网站建设策划书
  • 广州网站制作哪家专业深圳网站制作开发
  • 网站icp备案管理系统个人网站源代码
  • 西安网站建设公司云网wordpress 文章分类
  • 长沙优化网站服务r18cn wordpress
  • 建材网站设计延安网站建设电话
  • 做视频网站犯法么华为公司网站建设案例分析
  • 陕煤化建设集团网站矿建二公司网站制作系统
  • 网站建设类别wordpress下载付费
  • 廊坊做网站的成都网站建设网站建设