【 TiDB 使用环境】/测试/ Poc
【 TiDB 版本】V7.5.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】 最近准备上一个新的项目,目前选了TIDB作为数据库,想请教一下TIDB集群我该如何规划
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
问题一:
我现在有10太服务器,准备做2 TIDB、3 PD、5 KV 的集群,监控组件规划到业务WEB服务器上,不占用这10台服务器资源,没弄明白,TIDB的高可用原理,我看官网给的计算公式是:
- 若 n 为奇数,该 Raft Group 可以容忍 (n-1)/2 个副本同时发生故障
- 若 n 为偶数,该 Raft Group 可以容忍 n/2 -1 个副本同时发生故障
请问大神们这个计算公式是针对PD组件的还是KV组件的,如果不是PD组件的计算方式那么KV该如何规划,部署5台KV节点是否能容忍2台KV故障呢。
问题二:
我想问一下,想要让数据库集群的读写速度更快应该扩容哪个节点呢?
有猫万事足
2
问题1,计算公式是tikv的,你的理解是对的。必须5tikv 5副本才能保证容忍同时坏2台tikv。
问题2,读写更快,这个需要具体问题具体分析。
对tidb有初步了解的话,建议从规避读写热点入手。
这个能解决好,能减少很多麻烦。
https://docs.pingcap.com/zh/tidb/stable/troubleshoot-hot-spot-issues#tidb-热点问题处理
2 个赞
谢谢 您的回复,我还有个疑问,我2 TIDB节点如果只做keepalived
的话在进行select的时候是不是只有有浮动IP的那台TIDB节点在工作,另外一台并没有工作
有猫万事足
4
keepalived是这样的,要实现负载均衡要使用haproxy。
如果一定要用keepalived,最好是套在haproxy前面。这样必然有一套haproxy是可用的。然后只要有一个haproxy是可用的,后面2台tidb都能负载均衡到。
突破边界
5
TiKV节点数要大于副本数,TiDB前面最好用负载均衡: TiProxy
jiayou64
(jiayou64)
6
Kongdom
(Kongdom)
8
即使加了负载,一个select语句也只在一个tidb节点工作,另外一个tidb节点不工作。
1 个赞
TiDB的高可用原理是基于分布式系统中的Raft一致性算法来实现的。该算法可以保证在多个副本之间数据的一致性和系统的可用性。官网给出的计算公式是通用的,适用于PD组件和KV(TiKV)组件的Raft Group副本数规划。
对于你的KV组件(即TiKV节点)规划,如果你部署5台KV节点,按照公式:
若 n 为奇数,该 Raft Group 可以容忍 (n-1)/2 个副本同时发生故障。
这里 n = 5(奇数),所以可以容忍 (5-1)/2 = 2 个副本同时发生故障。因此,部署5台KV节点,你确实可以容忍2台KV节点发生故障,同时还能保持集群的高可用性和数据一致性。
zhanggame1
(Ti D Ber G I13ecx U)
12
tidb和pd可以放一起,pd起3个就行,tikv数量要大于等于3
一般来说cpu负载最高的是tidb节点,你需要起码5个tidb,另外负载均衡怎么做考虑下
1 个赞
月明星稀
(Ti D Ber Suk Xnq Xt)
13
所以n是tikv实例数,还是副本数?tikv和副本是可以不一样的