无限水平扩展是 tidb 的一大特点,这里说的水平扩展包括两方面:计算能力(tidb)和存储能力(tikv)。
tidb server 负责处理 sql 请求,随着业务的增长,可以简单的添加 tidb server 节点,提高整体的处理能力,提供更高的吞吐。
tikv 负责存储数据,随着数据量的增长,可以部署更多的 tikv server 节点解决数据 scale 的问题。pd 会在 tikv 节点之间以 region 为单位做调度,将部分数据迁移到新加的节点上。
所以在业务的早期,可以只部署少量的服务实例(推荐至少部署 3 个 tikv, 3 个 pd,2 个 tidb),随着业务量的增长,按照需求添加 tikv 或者 tidb 实例。
高可用是 tidb 的另一大特点,tidb/tikv/pd 这三个组件都能容忍部分实例失效,不影响整个集群的可用性。下面分别说明这三个组件的可用性、单个实例失效后的后果以及如何恢复。
1. tidb
tidb 是无状态的,推荐至少部署两个实例,前端通过负载均衡组件对外提供服务。当单个实例失效时,会影响正在这个实例上进行的 session,从应用的角度看,会出现单次请求失败的情况,重新连接后即可继续获得服务。单个实例失效后,可以重启这个实例或者部署一个新的实例
2. pd
pd 是一个集群,通过 raft 协议保持数据的一致性,单个实例失效时,如果这个实例不是 raft 的 leader,那么服务完全不受影响;如果这个实例是 raft 的 leader,会重新选出新的 raft leader,自动恢复服务。pd 在选举的过程中无法对外提供服务,这个时间大约是3秒钟。推荐至少部署三个 pd 实例,单个实例失效后,重启这个实例或者添加新的实例。
3. tikv
tikv 是一个集群,通过 raft 协议保持数据的一致性(副本数量可配置,默认保存三副本),并通过 pd 做负载均衡调度。单个节点失效时,会影响这个节点上存储的所有 region。对于 region 中的 leader 节点,会中断服务,等待重新选举;对于 region 中的 follower 节点,不会影响服务。当某个 tikv 节点失效,并且在一段时间内(默认 30 分钟)无法恢复,pd 会将其上的数据迁移到其他的 tikv 节点上。
以上就是小编今天为大家分享的关于“tidb核心特性:水平扩展和高可用”的文章,希望本篇文章能够帮到你。云和数据 ict 职业教育发挥公司产业化优势与技术积淀,整合国内外优秀师资,累计自主研发 230 余项教辅、教材,300 余 项实践教学案例与实训平台,采用六位一体项目制教学模式,年 培养高端 ict 技术人才超 10000 人,累计为企业输送高端泛 ict 技术人才超 9 万人,学员 60%来自于口碑推荐。如果你对目前的生活状态不满意,想提升技能,可以咨询云和数据1929cc威尼斯官网获得帮助。
37000.com威尼斯 copyright © 2013-2021 河南云和数据信息技术有限公司 isp经营许可证:豫b-20160281