官方pd cluster解释
- PD (Placement Driver) Server:整个 TiDB 集群的元信息管理模块,负责存储每个 TiKV 节点实时的数据分布情况和集群的整体拓扑结构,提供 TiDB Dashboard 管控界面,并为分布式事务分配事务 ID。PD 不仅存储元信息,同时还会根据 TiKV 节点实时上报的数据分布状态,下发数据调度命令给具体的 TiKV 节点,可以说是整个集群的“大脑”。此外,PD 本身也是由至少 3 个节点构成,拥有高可用的能力。建议部署奇数个 PD 节点。
思考:
TiDB cluster 为无状态集群,可水平扩展
TiKV 节点有状态节点,但是是存储节点,只需要处理自身相关的计算,存储+副本,可通过负载监控,节点增减,上报给PD大脑进行协调调度,集群可水平扩展
PD cluster 有状态节点,主从模式,主节点(单节点)负责整个TIDB集群请求路由等元数据管理、分布式事务id、TiKV节点调度等,当集群很大时,单节点如何抗压?
- 渠道商只做必要的事情,单节点
- 下游自身自身维护,已经问过一次的内容,TiDB cluster自身维护一份路由cache
- 上游自己管理好自己,定时的上报给管理者,TiKV 自身维护自己的Metadatas,通过心跳上报
- 下游通过询问后得到的消息,直接跟上流交互。当下游的消息过时了,对接的上游则会告诉下游,你找错人了。你重新去新渠道商拉最新消息