TAIR的轻量级的configserver
发布网友
发布时间:2022-10-16 18:39
我来回答
共1个回答
热心网友
时间:2023-10-22 11:31
从Tair的整体架构图上看,configserver很类似传统分布式集群中的中心节点。整个集群服务都依赖于configserver的正常工作。
但Tair的configserver却是一个轻量级的中心节点,在大部分时候,configserver不可用对集群的服务是不造成影响的。
Tair用户和configserver的交互主要是为了获取数据分布的对照表,当client获取到对照表后,会cache这张表,然后通过查这 张表决定数据存储的节点,所以请求不需要和configserver交互,这使得Tair对外的服务不依赖configserver,所以它不是传统意义 上的中心节点。
configserver维护的对照表有一个版本号,每次新生成表,该版本号都会增加。当有数据节点状态发生变化(比如新增节点或者有节点不可用了)时,configserver会根据当前可用的节点重新生成对照表,并通过数据节点的心跳,将新表同步给数据节点。
当客户端请求数据节点时,数据节点每次都会将自己的对照表的版本号放入response中返回给客户端,客户端接收到response后,会将数据节点返回的版本号和自己的版本号比较,如果不相同,则主动和configserver通信,请求新的对照表。
所以客户端也不需要和configserver保持心跳,以便及时地更新对照表。这使得在正常的情况下,客户端不需要和configserver通信,即使configserver不可用了,也不会对整个集群的服务造成大的影响。
仅有当configserver不可用,此时有客户端需要初始化,那么客户端将取不到对照表信息,这将使得客户端无法正常工作。
TAIR的轻量级的configserver
从Tair的整体架构图上看,configserver很类似传统分布式集群中的中心节点。整个集群服务都依赖于configserver的正常工作。但Tair的configserver却是一个轻量级的中心节点,在大部分时候,configserver不可用对集群的服务是不造成影响的。Tair用户和configserver的交互主要是为了获取数据分布的对照表,当client获取到...
TAIRTair的内部结构
TAIRTair的构成主要围绕三个核心组件:client、configserver和dataserver。首先,client是系统与用户交互的接口,它在启动时会从configserver那里获取关键的配置信息。这些信息中包含了数据在集群中的分布情况,这对于client来说至关重要,因为它据此进行数据访问请求。Configserver则是集群的管理中枢,它通过与dat...
TAIR的Tair的内部结构
一个Tair集群主要包括client、configserver和dataserver 3个模块。Configserver通过和dataserver的心跳(HeartBeat)维护集群中可用的节点,并根据可用的节点,构建数据的在集群 中的分布信息(见下文的对照表)。Client在初始化时,从configserver处获取数据的分布信息,根据分布信息和相应的dataserver 交互完成...
TAIR的DataServer内部结构
DataServer负责数据的物理存储,并根据configserver构建的对照表完成数据的复制和迁移工作。DataServer具备抽象的存储引擎层,可以很方便地添加新存储引擎。DataServer还有一个插件容器,可以动态地加载/卸载插件。抽象的存储引擎层 Tair的存储引擎有一个抽象层,只要满足存储引擎需要的接口,便可以很方便地替换Ta...