关于最小拓扑架构的一些疑问


第一张图是文档生产环境的 最小拓扑架构要求,第二章图是 快速上手 最小拓扑架构要求
我有一些疑问希望各位麻烦帮忙解释一下
1.快速上手和生产环境最小拓扑不同,会带来什么区别,比如按快速上手这样拓扑部署,相比生产环境,会缺少哪些功能呢,能简单列举下吗?
2.副本的数量怎么看呢,入图二TiDB个数是1,意思就是说TiDB副本数量是1吗

快速上手和生产环境最小拓扑不同,会出现以下一些区别:

  • 数据库可用性:快速上手拓扑中使用了单节点 TiDB 部署,这意味着如果 TiDB 节点出现故障,整个集群将无法使用。而在生产环境下,通常会使用多个 TiDB 节点部署,从而实现高可用性。这样即使某个节点发生故障,整个集群仍然可以正常运行。
  • 数据库性能:生产环境下通常需要更大的集群规模以及更多的资源,如 CPU,内存和磁盘空间等,从而实现更高的负载容量和更快的查询响应时间。而快速上手拓扑的配置较低,可能无法满足生产环境的高性能要求。
  • 数据安全:在生产环境中通常需要使用证书来启用加密和安全连接,从而防止数据在传输过程中被偷窥以及防止存在一定的安全风险。
  • 备份和恢复:在生产环境中需要为 TiDB 集群设置备份策略和恢复方案,以确保数据的高可靠性和完整性。而快速上手拓扑中没有涉及到备份和恢复配置。
  1. 副本数量怎么看:

在 TiDB 集群中,副本数量可以通过查询 TiDB 的 PD 集群信息来获取。
在 TiDB Dashboard 中,可以通过选择 PD 面板,并查看 TiDB、TiKV 的状态,你会看到图表中副本数量的详细信息。

1,功能并不会少什么,少的是高可用。比如下图tidb只有一个实例,挂了整个集群就gg。上的3个tidb在部署负载均衡的情况下,就不会有这个问题。
2,对。

1、2个方式功能是一样的,差别就是高可用不一样。看你使用场景,如果是生产环境肯定是需要高可用使用推荐配置,如果是测试环境,你随便整,所有节点都是单节点都可以。
2、tidb是无状态的不存在副本问题,多节点是为了高可用,三节点的pd只有1个主节点其他2个节点是备用。kv默认设置是三副本。

TIKV图中数量是3,意思就是3副本吗

第一个最小拓扑是生产环境最小拓扑,有高可用,第二个是快速上手,也就是测试环境。tikv的数量和副本没有直接关系,但是副本数必须小于或者等于tikv数,一般来说都是默认3副本,所以这里都是3个tikv。

高可用是和TIDB server 组件有关吧,
1.TIDB server 在这个架构里充当什么角色呢,看了文档解释,但是没看太明白,我TIDB server主要是负责接受SQL请求的逻辑,而且上面说了一个TIDB挂了,整个集群就挂了是吧,但是 比如一个PD 或者一个 TiFlash挂了,整个集群不会挂吧。
2.那TIKV副本数量在哪看呢,快速上手这里TIKV的副本数量是多少呢?可以改吗

不止和TIDB server 组件有关,第一个生产环境最小拓扑任意挂掉一台机器都不影响业务使用,快速上手的最小拓扑tidb和pd任意一台宕机业务就无法连接了。
TIDB server是负责接受SQL请求的逻辑,pd是负责调度的,如果pd挂了就无法进行调度无法找到数据,业务也无法使用了。仅有一个tifash的情况下,如果宕机那执行计划走tikv的请求可以正常访问,需要走tiflash的请求默认会报错,会影响部分业务,所以生产环境一般情况下要么不用,要么2个节点以上。
可以用pdctl查看和修改副本数。例如tiup ctl:v7.1.0 pd config show replication
tiup ctl:v7.1.0 pd config set max-replicas 5

1 个赞

tidb-server是无状态的 负责处理外部用户的sql解析 如果有多个tidb-server,挂1个 不影响集群访问 全挂 影响集群访问 但是不影响数据

数量是三,意味着三个tikv节点 副本的话默认是三个,需要更多副本 需要配置
图片

1 个赞

最小生产,是保证可用最小资源配置,会兼顾一些故障的可用性
快速上手,保证最小资源下,能把tidb的特性都展现出来,性能可用性这些都不考虑

tidb-server是无状态的,无状态这里是什么含义,无状态为啥不需要副本了呢,感谢您的解答

生产环境要考虑高可用,每个组件物理上要高可用,所以各个组件都部署在不同的IP(不同机器),而自己的测试环境坏了就坏了,为了节约资源,就采用单机器不同端口配置。从数据库功能上没啥区别。

请问tidb-server是无状态的,无状态是啥意思呀,查了资料没太理解

无状态的是你啥时候再扩一个直接就可以用,不用保持当前状态,挂了再建新的没有一点影响,像应用一般都是无状态的扩一个server直接可以用,像数据库这种都是有状态的,需要保持数据库数据的一致性,挂了就需要恢复,tidb-server主要就是接收sql解析sql,新的也是这个功能,tikv就不行了,他要存数据的

最小拓朴的有一些集群的平衡与分布是看不到效果的

不是,kv的副本数需要pd中查询,kv节点数可以随便扩,几百个都可以。

生产用的最小拓扑是有高可用的,要求组件部署在不同机器上。
单机部署可以1pd 1tikv 1tidb ,并不需要3个tikv

TiDB 不存储数据,坏了就再拉起来一个就好了,不像TiKV,里面存数据,宕了可能让部分数据丢失副本,宕的多了可能就不能提供服务了。

1 个赞

感谢您的回答