双区域多AZ部署中的几个参数该怎么理解?

各位大佬,技术文档 双区域多AZ部署中
https://docs.pingcap.com/zh/tidb/stable/three-data-centers-in-two-cities-deployment
指出
1、双区域三 AZ 需设置 5 副本 为什么是5副本?
2、参数 raftstore.raft-min-election-timeout-ticks: 1000
raftstore.raft-max-election-timeout-ticks: 1200
怎么理解?根据什么设定这2个值的大小?
怎么理解tick这个词是啥意思?node 吗?
3、文中提到“AZ1 的 rac1 机架中,一台服务器部署了 TiDB 和 PD 服务,另外两台服务器部署了 TiKV 服务,其中,每台 TiKV 服务器部署了两个 TiKV 实例 (tikv-server),rac2、rac4、rac5 和 rac6 类似。” 每台TiKV服务器部署两个TiKV实例 是什么用意呢?

自问自答第2个问题的 2个参数:
如果 Region Follower 在 raft-election-timeout 间隔内未收到来自 Leader 的心跳,就会判断 Leader 出现故障而发起新的选举
raft-election-timeout = raft-base-tick-interval * raft-election-timeout-ticks
raft-base-tick-interval 默认1s
当raft-min-election-timeout-ticks 为0 时,取raft-election-timeout-ticks 的值

猜想 第3个问题 是为了 减少单个 TiKV 实例上的 Region 个数

这个我觉得是看资源情况来的。如果是物理机,配置比较高,部署2个实例充分利用资源。

第一个问题:

副本数也多,高可用越好。没说必须用5副本,3副本也可以的,只是只能坏一个副本了。

第二个问题:
在哪个视频教程里面看到过,一下找不到了。跟leader选举相关的。tick是不是可以理解为心跳次数?

第三个问题:
仔细看了下文档。根据下面的配置文件来看这个描述是不对的,应该是每个机架上部署了2台tikv服务器,每台服务器部署一个实例。


有配置文件可以看到,每个实例的IP都不一样。

这里有提到这个tick消息和心跳。可以参考下。

https://docs.pingcap.com/zh/tidb/stable/massive-regions-best-practices#方法二调整-raft-base-tick-interval

raft-base-tick-interval 是 Raftstore 驱动每个 Region 的 Raft 状态机的时间间隔,也就是每隔该时长就需要向 Raft 状态机发送一个 tick 消息。增加该时间间隔,可以有效减少 Raftstore 的消息数量。

如果 Region Follower 在 raft-election-timeout 间隔内未收到来自 Leader 的心跳,就会判断 Leader 出现故障而发起新的选举。raft-heartbeat-interval 是 Leader 向 Follower 发送心跳的间隔,因此调大 raft-base-tick-interval 可以减少单位时间内 Raft 发送的网络消息,但也会让 Raft 检测到 Leader 故障的时间更长。