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

网站的流量建设和县网站设计

网站的流量建设,和县网站设计,网站设计步骤及注意事项,精彩app应用下载节点 集群数据结构 redisClient结构和clusterLink结构的相同和不同之处 redisClient结构和clusterLink结构都有自己的套接字描述符和输入、输出缓冲区,这两个结构的区别在于,redisClient结构中的套接字和缓冲区是用于连接客户端的,而clust…

节点

集群数据结构

redisClient结构和clusterLink结构的相同和不同之处

redisClient结构和clusterLink结构都有自己的套接字描述符和输入、输出缓冲区,这两个结构的区别在于,redisClient结构中的套接字和缓冲区是用于连接客户端的,而clusterLink结构中的套接字和缓冲区是用于连接节点的。

例子

举个例子。以前面介绍的7000、7001、7002三个节点为例,如图展示了节点7000创建的clusterState结构,这个结构从节点7000的角度记录了集群以及集群包含的三个节点的当前状态:

  • 1.结构的currentEpoch属性的值为0,表示集群当前的配置纪元为0
  • 2.结构的size属性的值为0,表示集群目前没有任何节点在处理槽,因此结构的state属性的值为REDIS_CLUSTER_FAIL,这表示集群目前处于下线状态
  • 3.结构的nodes字典记录了集群目前包含的三个节点,这三个节点分别由clusterNode结构表示,其中myself指针指向代表节点7000的clusterNode结构,而字典中的另外两个指针则分别指向节点7001和代表节点7002的clusterNode结构,这两个节点是节点7000已知的在集群中的其他节点
  • 4.三个节点的clusterNode结构的flags属性都是REDIS_NODE_MASTER,说明三个节点都是主节点。

节点7001和节点7002也会创建类似的clusterState结构:

  • 1.不过在节点7001创建的clusterState结构中,myself指针将指向代表节点7001的clusterNode结构,而节点7000和节点7002则是集群中的其他节点.
  • 2.而在节点7002创建的clusterState结构中,myself指针将指向代表节点7002的clusterNode结构,而节点7000和节点7001则是集群中的其他节点。
    在这里插入图片描述

CLUSTER MEET命令的实现

通过向节点A发送CLUSTER MEET命令,客户端可以让接收命令的节点A将另一个节点B添加到节点A当前所在的集群里面:

CLUSTER MEET <ip> <port>

收到命令的节点A将与节点B进行握手(handshake),以此来确认彼此的存在,并未将来的进一步通信打好基础:

  • 1.节点A会为节点B创建一个clusterNode结构,并将该结构添加到自己的clusterState.nodes字典里面
  • 2.之后,节点A将根据CLUSTER MEET命令给定的IP地址和端口号,向节点B发送一条MEET消息(message)
  • 3.如果一切顺利,节点B将接收到节点A发送的MEET消息,节点B会为节点A创建一个clusterNode结构,并将该结构添加到自己的clusterState.nodes字典里面
  • 4.之后,节点B将向节点A返回一条PONG消息
  • 5.如果一切顺利,节点A将接收到节点B返回的PONG消息,通过这条PONG消息节点A可以知道节点B已经成功地接收到了自己发送地MEET消息
  • 6.之后,节点A将向节点B返回一条PING消息
  • 7.如果一切顺利,节点B将接收到节点A返回的PING消息,通过这条PING消息节点B可以知道节点A已经成功地接收到了自己返回的PONG消息,握手完成

如图展示了握手过程。之后,节点A会将节点B的信息通过Goossip协议传播给集群中的其他节点,让其他节点也与节点B进行握手,最终,经过一段时间之后,节点B会被集群中的所有节点认识
在这里插入图片描述

槽指派

概述

Redis集群通过分片的方式来保存数据库的键值对:集群的整个数据库被分为16384个槽(slot),数据库中的每个键都属于这16384个槽的其中一个,集群中的每个节点可以处理0个或最多16384个槽。当数据库中的
16384个槽都有节点在处理时,集群处于上线状态(ok);相反地,如果数据库中有任何一个槽没有得到处理,那么集群处于下线状态(fail),在前面,我们使用CLUSTER MEET命令将7000、7001、7002三个节点连接到
了同一个集群里面,不过这个集群目前仍然处于下线状态,因为集群中的三个节点都没有在处理任何槽:

127.0.0.1:7000> cluster info
cluster_state:fail
cluster_slots_assigned:9
cluster_slots_ok:9
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:3
cluster_size:1
cluster_current_epoch:1
cluster_my_epoch:1
cluster_stats_messages_sent:2481
cluster_stats_messages_received:2478

通过向节点发送CLUSTER ADDSLOTS命令,可以将一个或者多个槽指派给节点负责

CLUSTER ADDSLOTS <slot> [slot ...]
http://www.yayakq.cn/news/486562/

相关文章:

  • 网站建设公司有哪几家景洪网站建设
  • 郑州app网站公司品牌营销专业
  • 一般做门户网站多少钱网站建设与维护 目录
  • 太平洋车险报价入口微博seo营销
  • 如何新建一个网站甘肃省住房和建设厅网站首页
  • 南京电商网站设计网站联盟如何实现
  • 如何建立营销性企业网站论文页游赚钱
  • 长沙 网站设计 公司价格客户关系管理系统软件
  • 怎么做网站背景图片商城网站建设如何
  • 招标网站建设申请做网站的猫腻
  • 建个什么网站吗网站如何做微信支付链接
  • 做书籍封皮的网站山东聊城建设学校官网
  • 珠海网站建设 金蝶wordpress进度条插件
  • 放心网站推广优化咨询add filters Wordpress
  • 网页制作与网站发布外贸营销俱乐部
  • 网站优化西安网站开发 技术优势
  • 南宁网站定制团队抖音怎么挂小程序赚钱
  • 商城网站建设报价表物联网项目设计方案
  • 怎么在网上做网站凡客沙发官网
  • 有网站怎么做企业邮箱国内html网站欣赏
  • 戴尔的网站建设有哪些主要特色网站建设流程及构架
  • 京东怎么做轮播图链接网站大连网站建设哪家专业
  • 自己做网站 需要哪些有什么软件可以找客户
  • 怎么在云主机上做网站一流的镇江网站优化
  • 有了自己的域名怎么做网站电商平台怎么做
  • 做互动电影的网站长沙建网站理
  • 跨境电商那个网站做饰品比较好涡阳做网站
  • 鹏翔科技 网站建设互动营销的案例有哪些
  • 元氏网站建设国内知名建筑设计公司
  • 半江红网站建设资源开发公司经营范围